{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "toc_visible": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# **PDF support in Claude 3.5 Sonnet API New Feature:**\n",
        "\n",
        "Anthropic introduces PDF support in Claude 3.5 Sonnet API, enabling seamless integration of PDF documents into AI workflows.\n",
        "\n",
        "\n",
        "Claude 3.5 Sonnet now allows users to upload PDFs directly into the model using the API, bypassing the need for manual text extraction or conversion. This feature makes it easier to analyze and respond to queries based on detailed documents without extra steps.\n",
        "\n",
        "\n",
        "👉 **Key Features:**\n",
        "\n",
        "- **Direct PDF Uploads:** Users can now upload PDFs directly using the API, allowing Claude to process and analyze the content without manual text extraction.\n",
        "- **Enhanced Data Extraction:** Claude can extract text, tables, and images from PDFs, facilitating comprehensive data analysis.\n",
        "\n",
        "This feature expands the ability to get insights and allows for more comprehensive answers based on data from different sources within the document.\n",
        "\n",
        "\n",
        "\n",
        "👉 **Use Cases:**\n",
        "\n",
        "This new feature can be used for:\n",
        "\n",
        "- **Document Summarization** to quickly generate concise summaries of lengthy reports or articles\n",
        "- **Data Analysis** to extract and analyze data from financial statements, research papers, and other structured documents.\n",
        "- **Content Generation** to utilize extracted information to create new content, such as reports or presentations.\n",
        "\n",
        "\n",
        "👉 **How PDF Support Operates**:\n",
        "\n",
        "When you submit a request with a PDF file, here’s how the process works:\n",
        "\n",
        "1️⃣ **Extracting Document Contents**\n",
        "\n",
        "   - The system first processes the document by converting each page into an image.\n",
        "\n",
        "   - Text is then extracted from each page and paired with its respective image, creating a comprehensive data set for each page.\n",
        "\n",
        "\n",
        "2️⃣ **Combined Analysis of Text and Images**\n",
        "\n",
        "   - Claude analyzes both the extracted text and the images to understand the document’s content thoroughly.\n",
        "\n",
        "   - This approach enables users to gain insights into visual elements like charts, diagrams, and other non-text components within the PDF.\n",
        "\n",
        "3️⃣ **Seamless Integration with Other Claude Features**\n",
        "\n",
        "   - PDF support works well with : Prompt caching, Batch processing, Tool integration.\n",
        "\n",
        "This comprehensive support enhances the ability to analyze and interact with PDF files, making it a powerful tool for extracting both textual and visual information.\n",
        "\n",
        "\n",
        "👉 **Constraints**:\n",
        "\n",
        "- Maximum request size\t32MB\n",
        "- Maximum pages\t100\n",
        "\n",
        "You can also use token counting to determine the number of tokens in a message containing PDFs.\n",
        "\n",
        "In \"Counting Tokens\" paragraph, I'll show you how to use count for tokens endpoint.\n",
        "\n",
        "\n",
        "\n"
      ],
      "metadata": {
        "id": "D-QbvnqajNuD"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "👉 **BlackRock Q4 2024 Outlooks report:**\n",
        "I've conducted a test using BlackRock report for Q4 2024 outlooks. This report outlines BlackRock's key investment strategies across three main areas: equities, fixed income , and alternative assets. The document provides detailed analysis and recommendations for positioning portfolios amid market volatility, falling interest rates, and the upcoming US presidential election, while emphasizing the importance of maintaining a selective approach across asset classes.\n",
        "\n",
        "\n",
        "This report contains a range of text, figures, and charts. The aim was to test the new PDF support feature."
      ],
      "metadata": {
        "id": "08v2T9kNrs-G"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "[Hanane Dupouy](https://www.linkedin.com/in/hanane-d-algo-trader)"
      ],
      "metadata": {
        "id": "6YHS3N8gyeFt"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Install libs"
      ],
      "metadata": {
        "id": "N77xnKia09-3"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "!pip install anthropic -q"
      ],
      "metadata": {
        "id": "_9rfdqXL2JIz"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "id": "lNVVN_Gh1eQq"
      },
      "outputs": [],
      "source": [
        "import anthropic\n",
        "import base64"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from google.colab import userdata\n",
        "CLAUDE_API_KEY = userdata.get('CLAUDE_API_KEY')"
      ],
      "metadata": {
        "id": "jKuxCyDD3DCq"
      },
      "execution_count": 5,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "# PDF loading"
      ],
      "metadata": {
        "id": "Ce8Dst4v1GlY"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "def upload_pdf(path_to_pdf):\n",
        "  with open(path_to_pdf, \"rb\") as pdf_file:\n",
        "    binary_data = pdf_file.read()\n",
        "    base_64_encoded_data = base64.b64encode(binary_data)\n",
        "    base64_string = base_64_encoded_data.decode('utf-8')\n",
        "  return base64_string"
      ],
      "metadata": {
        "id": "NsCVuetv3eFu"
      },
      "execution_count": 6,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "The BlackRock PDF originally has 19 pages, but I’ve excluded the last 6 pages as they mostly contain risk warnings for various countries where BlackRock operates. These sections don’t add value to the Q4 2024 outlook and would increase token count, raising costs."
      ],
      "metadata": {
        "id": "yytGtM9N-X98"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# BlackRock: Key Themes and Outlook for Q4 2024\n",
        "# BlackRock pdf source: https://www.blackrock.com/institutions/en-zz/literature/whitepaper/investment-directions-q4-24-np.pdf\n",
        "\n",
        "path_to_pdf = local_path + 'BlackRock_investment-directions-q4-24-np-1-13.pdf'\n",
        "pdf_data = upload_pdf(path_to_pdf)"
      ],
      "metadata": {
        "id": "jL1jgxwxipSc"
      },
      "execution_count": 8,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Before uploading the PDF to Anthropic and testing this new feature, let’s first count the number of tokens, understand the rate limits, and compare them to the feature's constraints."
      ],
      "metadata": {
        "id": "1SnC9sMm9ryX"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Counting Tokens"
      ],
      "metadata": {
        "id": "DOgglG0M4br4"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "You are not charged when asking for tokens counting."
      ],
      "metadata": {
        "id": "Uf8PyPyf_XER"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "client = anthropic.Anthropic(api_key = CLAUDE_API_KEY)\n",
        "\n",
        "# path_to_pdf = local_path + 'BlackRock_investment-directions-q4-24-np-1-13.pdf'\n",
        "# pdf_data = upload_pdf(path_to_pdf)\n",
        "\n",
        "response = client.beta.messages.count_tokens(\n",
        "    betas=[\"token-counting-2024-11-01\", \"pdfs-2024-09-25\"],\n",
        "    model=\"claude-3-5-sonnet-20241022\",\n",
        "    messages=[{\n",
        "        \"role\": \"user\",\n",
        "        \"content\": [\n",
        "            {\"type\": \"document\", \"source\": { \"type\": \"base64\", \"media_type\": \"application/pdf\", \"data\": pdf_data}},\n",
        "            {\"type\": \"text\", \"text\": \"Please summarize this document.\"}\n",
        "        ]\n",
        "    }]\n",
        ")\n",
        "\n",
        "print(response.json())"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "gx6HbD0dlTO3",
        "outputId": "0aacf0cd-b0b1-4fd5-c067-d1760f703ee2"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{\"input_tokens\":31042}\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Here are the number of tokens in the originbal book:"
      ],
      "metadata": {
        "id": "-t6thVd29jln"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# client = anthropic.Anthropic(api_key = CLAUDE_API_KEY)\n",
        "\n",
        "import httpx\n",
        "\n",
        "pdf_url = \"https://www.blackrock.com/institutions/en-zz/literature/whitepaper/investment-directions-q4-24-np.pdf\"\n",
        "pdf_data = base64.standard_b64encode(httpx.get(pdf_url).content).decode(\"utf-8\")\n",
        "\n",
        "response = client.beta.messages.count_tokens(\n",
        "    betas=[\"token-counting-2024-11-01\", \"pdfs-2024-09-25\"],\n",
        "    model=\"claude-3-5-sonnet-20241022\",\n",
        "    messages=[{\n",
        "        \"role\": \"user\",\n",
        "        \"content\": [\n",
        "            {\"type\": \"document\", \"source\": { \"type\": \"base64\", \"media_type\": \"application/pdf\", \"data\": pdf_data}},\n",
        "            {\"type\": \"text\", \"text\": \"Please summarize this document.\"}\n",
        "        ]\n",
        "    }]\n",
        ")\n",
        "\n",
        "print(response.json())\n",
        "#I have a rate limit of 40 000 tokens per minute. I decided to remove the last 6 pages to reduce this number."
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "LjhN14W__07U",
        "outputId": "8c8573c7-b58a-4f4d-db54-c0daea92e23e"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "{\"input_tokens\":49563}\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Tokens Counting - Takeaways:**"
      ],
      "metadata": {
        "id": "AIZOCxM7_xYn"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "As I have excluded the last 6 pages, I reduced the number of tokens from 49K to 31K.\n",
        "\n",
        "The rate limit for the latest sonnet model is 40 000 tokens per minute.\n",
        "\n",
        "Also we need to not exceed 100 pages to use this new feature, where each page should be between 1500 to 3000. With our 31K tokens we are so far from this limit."
      ],
      "metadata": {
        "id": "k1DlK3aB-Gry"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Anthropic completion: Specify the access to the new beta-feature : \"PDF\""
      ],
      "metadata": {
        "id": "dmHEhlJD1A-w"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Either you specify it in the header or inside the message creation endpoint:\n",
        "\"pdfs-2024-09-25\"\n",
        "\n",
        "I've also added the prompt caching feature to reduce costs (I'll explain it in another notebook)"
      ],
      "metadata": {
        "id": "dHnFdKF8AqrW"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# [\"pdfs-2024-09-25\", \"prompt-caching-2024-07-31\"],\n",
        "\n",
        "client = anthropic.Anthropic(api_key = CLAUDE_API_KEY)\n",
        "# client = anthropic.Anthropic(default_headers={\n",
        "#     \"anthropic-beta\": {\"pdfs-2024-09-25\",\"prompt-caching-2024-07-31\"}\n",
        "#   },\n",
        "#   api_key = CLAUDE_API_KEY\n",
        "# )\n",
        "\n",
        "# For now, only claude-3-5-sonnet-20241022 supports PDFs\n",
        "MODEL_NAME = \"claude-3-5-sonnet-20241022\"\n",
        "\n",
        "def get_completion(messages, model=MODEL_NAME):\n",
        "    completion = client.beta.messages.create(\n",
        "        betas=[\"pdfs-2024-09-25\", \"prompt-caching-2024-07-31\"],\n",
        "        model=model,\n",
        "        max_tokens=8192,\n",
        "        messages=messages,\n",
        "        temperature=0,\n",
        "    )\n",
        "    return completion"
      ],
      "metadata": {
        "id": "G6BAcjgN2IHR"
      },
      "execution_count": 9,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Create the message with PDF data and start chatting:"
      ],
      "metadata": {
        "id": "wmhBcl2r4feo"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "## First query: Summarize the document"
      ],
      "metadata": {
        "id": "K0-mbdnPmHjM"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "This simple query does not specify prompt caching parameter.\n",
        "This is to simply test the PDF feature:"
      ],
      "metadata": {
        "id": "bdhhHNdLWf4p"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "messages = [\n",
        "    {\n",
        "        \"role\": 'user',\n",
        "        \"content\": [\n",
        "            {\"type\": \"document\", \"source\": {\"type\": \"base64\", \"media_type\": \"application/pdf\", \"data\": pdf_data}},\n",
        "            {\"type\": \"text\", \"text\": \"Summarise the document.\"}\n",
        "        ]\n",
        "    }\n",
        "]\n",
        "\n",
        "completion = get_completion(messages)\n",
        "\n",
        "print(completion.content[0].text)"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "O1PFJ9p070dq",
        "outputId": "e0997d60-e834-4774-8a72-5c2729aec9c5"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "This document is BlackRock's Q4 2024 Investment Directions report for EMEA, outlining their investment strategy and market outlook. Here are the key points:\n",
            "\n",
            "1. Overall Market View:\n",
            "- Positive but cautious sentiment towards equities\n",
            "- Focus on managing volatility ahead of US presidential election\n",
            "- Emphasis on quality investments and broader earnings opportunities\n",
            "- Positioning for global easing cycles as central banks begin rate cuts\n",
            "\n",
            "2. Key Investment Areas:\n",
            "\n",
            "Equities:\n",
            "- Favoring quality stocks and broader market opportunities beyond US tech\n",
            "- Seeing strong opportunities in Europe with selective, active approach\n",
            "- Maintaining focus on AI beneficiaries but with broader sector exposure\n",
            "\n",
            "Fixed Income:\n",
            "- Recommending locking in income while rates remain elevated\n",
            "- Preferring belly of US Treasury curve\n",
            "- More comfortable extending duration in European bonds\n",
            "- Favoring EUR credit over USD, with preference for quality\n",
            "\n",
            "Alternative Investments:\n",
            "- Increasing focus on liquid alternatives for portfolio diversification\n",
            "- Seeing strategic opportunities in private markets\n",
            "- Using gold as a hedge against geopolitical risks\n",
            "- Looking to multi-asset strategies for navigating market complexity\n",
            "\n",
            "3. Key Risks/Considerations:\n",
            "- US presidential election uncertainty\n",
            "- Ongoing macroeconomic uncertainty\n",
            "- Less predictable cross-asset correlations\n",
            "- Geopolitical risks remaining structurally higher\n",
            "\n",
            "The document emphasizes a balanced approach to risk, combining quality-focused core positions with tactical opportunities across asset classes, while maintaining strong diversification through various alternative investments.\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "## Set of queries: Equities related questions, AI questions and US Elections questions"
      ],
      "metadata": {
        "id": "Op4SXUw_EX2V"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "In this method, I added the **cache_control** parameter to implement the **prompt** **caching** in the following interactions with Claude 3.5 Sonnet:"
      ],
      "metadata": {
        "id": "2m0xhJuOWyTS"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "def build_message (query, pdf_data):\n",
        "  messages = [\n",
        "      {\n",
        "          \"role\": 'user',\n",
        "          \"content\": [\n",
        "              {\"type\": \"document\", \"source\": {\"type\": \"base64\", \"media_type\": \"application/pdf\", \"data\": pdf_data},\"cache_control\": {\"type\": \"ephemeral\"}},\n",
        "              {\"type\": \"text\", \"text\": query}\n",
        "          ]\n",
        "      }\n",
        "    ]\n",
        "  return messages"
      ],
      "metadata": {
        "id": "QrolWwv5ssyL"
      },
      "execution_count": 10,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "Here are the different questions I'll be asking about various topics discussed in the report: Equities, AI and US Election."
      ],
      "metadata": {
        "id": "a2qVOrauXHSN"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Equities\n",
        "queries_equities = [\"What are BlackRock's recommendations for equity investments in Q4 2024?\",\n",
        "\"How is the broadening of earnings impacting equity investments according to BlackRock?\",\n",
        "\"Why does BlackRock suggest focusing on high-quality stocks in the current market?'\"\n",
        "]\n",
        "\n",
        "# AI\n",
        "queries_ai = [\n",
        "\"How does BlackRock view AI as a theme for investment?\",\n",
        "\"What sectors does BlackRock believe could benefit from AI infrastructure growth?\",\n",
        "\"What are BlackRock’s thoughts on the impact of AI capex on market valuations?\"\n",
        "]\n",
        "\n",
        "# US ELECTION\n",
        "queries_us_election = [\n",
        "\"How does BlackRock anticipate the US election may impact trade policies?\",\n",
        "\"What potential market impacts does BlackRock see from the 2024 US presidential election?\",\n",
        "\"How could UK equities serve as a hedge according to BlackRock’s election outlook?\"]"
      ],
      "metadata": {
        "id": "bBf7ZUVi3oja"
      },
      "execution_count": 12,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "### Equities Related Questions:"
      ],
      "metadata": {
        "id": "x90RgfE8E6pq"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "for query in queries_equities:\n",
        "  messages = build_message(query, pdf_data)\n",
        "  print(\"--------QUERY---------\")\n",
        "  print(query)\n",
        "  print()\n",
        "  completion = get_completion(messages)\n",
        "  print(\"--------ANSWER---------\")\n",
        "  print(completion.content[0].text)\n",
        "  print()\n",
        "  print(\"--------TOKENS COUNT---------\")\n",
        "  print(completion.usage)\n",
        "  print()\n",
        "  print(\"--------STOP REASON---------\")\n",
        "  print(completion.stop_reason)\n",
        "  print()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "aOfFVzl2q-yI",
        "outputId": "1b1e8fcc-9051-4ffd-e6af-58ee0d1b6263"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--------QUERY---------\n",
            "What are BlackRock's recommendations for equity investments in Q4 2024?\n",
            "\n",
            "--------ANSWER---------\n",
            "Based on the document, here are BlackRock's key equity investment recommendations for Q4 2024:\n",
            "\n",
            "1. Quality and Breadth Focus:\n",
            "- Look to take advantage of broadening earnings prospects while maintaining a quality tilt and selectivity amid volatility\n",
            "- Maintain conviction in US equities but with a more granular, active approach\n",
            "- Moving from narrow US tech focus to a wider set of opportunities\n",
            "\n",
            "2. Regional Preferences:\n",
            "- Continue to favor US equities\n",
            "- See strong opportunities in Europe, particularly through selective active management\n",
            "- Prefer granular, active approach for European exposure\n",
            "- Like India within emerging markets for its low correlation to global equities\n",
            "\n",
            "3. Sector Positioning:\n",
            "- Continue to see tailwinds for AI beneficiaries\n",
            "- Favor utilities and REITs which may benefit from lower rates\n",
            "- Look favorably on European banks due to earnings potential despite lower valuations\n",
            "\n",
            "4. Strategic Approach:\n",
            "- Maintain focus on high-quality exposures at portfolio core\n",
            "- Use systematic strategies leveraging data for stock selection\n",
            "- Consider equal-weight S&P 500 exposure to moderate mega-cap concentration\n",
            "- Look to capture market breadth through sector diversification\n",
            "\n",
            "5. Risk Management:\n",
            "- Manage volatility through quality and selectivity\n",
            "- Prepare for potential volatility around US presidential election\n",
            "- Focus on companies with strong earnings prospects and fundamentals\n",
            "\n",
            "The overall stance is pro-risk but selective, with an emphasis on quality companies and broader market participation beyond just mega-cap tech stocks.\n",
            "\n",
            "--------TOKENS COUNT---------\n",
            "BetaUsage(cache_creation_input_tokens=31019, cache_read_input_tokens=0, input_tokens=34, output_tokens=336)\n",
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "--------QUERY---------\n",
            "How is the broadening of earnings impacting equity investments according to BlackRock?\n",
            "\n",
            "--------ANSWER---------\n",
            "According to the document, BlackRock sees earnings breadth increasing at the sector level in several key ways:\n",
            "\n",
            "1. Earnings growth in the US has improved sequentially quarter-over-quarter in 2024 from 2023's recession levels:\n",
            "- Overall Q2 earnings growth tracked at 11.6%\n",
            "- Tech sector delivered 21.2% growth QoQ\n",
            "- Other sectors also showed solid earnings:\n",
            "  - Financials (18.2% QoQ)\n",
            "  - Healthcare (16.7% QoQ) \n",
            "  - Utilities (15.2% QoQ)\n",
            "\n",
            "2. Investment Implications:\n",
            "- Moving from a narrow US tech focus to a wider set of opportunities\n",
            "- Taking advantage of broadening earnings prospects while still maintaining quality and selectivity\n",
            "- Seeing the broader earnings growth as a sign the economy is more resilient than markets are pricing in\n",
            "- Looking to capture market breadth through sectors like utilities and REITs that may benefit from lower rates\n",
            "\n",
            "3. Strategy Adjustments:\n",
            "- Maintaining conviction in US equities while looking for select opportunities in Europe\n",
            "- Favoring a granular, active approach beyond the US market\n",
            "- Focusing on quality and selectivity amid volatility\n",
            "- Managing volatility through quality-focused investments while taking advantage of the broader earnings environment\n",
            "\n",
            "The document suggests BlackRock is adapting its equity strategy to capitalize on this earnings breadth while still maintaining a focus on quality investments and careful sector selection in what they expect to remain a volatile market environment.\n",
            "\n",
            "--------TOKENS COUNT---------\n",
            "BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=34, output_tokens=331)\n",
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "--------QUERY---------\n",
            "Why does BlackRock suggest focusing on high-quality stocks in the current market?'\n",
            "\n",
            "--------ANSWER---------\n",
            "According to the document, BlackRock suggests focusing on high-quality stocks for several key reasons:\n",
            "\n",
            "1. Market Volatility: There is elevated volatility in the current market environment, particularly as we approach the US presidential election. High-quality exposures can help manage this volatility.\n",
            "\n",
            "2. Earnings Environment: While earnings growth is broadening across sectors, there is still dispersion across individual stocks, creating a need for selectivity.\n",
            "\n",
            "3. Portfolio Resilience: Quality stocks can help bolster portfolio resilience while still capitalizing on market opportunities. This is particularly important given the current macroeconomic uncertainty and geopolitical risks.\n",
            "\n",
            "4. Strong Investor Interest: Quality remains the most popular factor this year in global ETP flows, with $24.9B added year-to-date, indicating strong investor conviction in this approach.\n",
            "\n",
            "5. Core Portfolio Strategy: BlackRock recommends maintaining high-quality exposures at the core of portfolios, using both:\n",
            "- High-conviction alpha strategies in ETF and mutual fund formats\n",
            "- Systematic strategies that leverage large datasets to identify high-quality stocks and generate stock-specific alpha\n",
            "\n",
            "The focus on quality is part of BlackRock's broader strategy to take advantage of broadening earnings prospects while still maintaining selectivity and managing volatility in an uncertain market environment.\n",
            "\n",
            "--------TOKENS COUNT---------\n",
            "BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=35, output_tokens=281)\n",
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Takeaways**:\n",
        "\n",
        "The first thing that caught my attention was the variety of numbers Claude collected to answer queries 2 and 3. I fact-checked these numbers, and they are accurate.\n",
        "\n",
        "Overall, the model’s answers are precise and are supported by well-retrieved figures, adding valuable context to the queries.\n"
      ],
      "metadata": {
        "id": "4x1AuIwbXUs1"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "### AI Related Questions:"
      ],
      "metadata": {
        "id": "VMEa4h_7V1Na"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from IPython.display import HTML"
      ],
      "metadata": {
        "id": "m2yXDgZpFfDN"
      },
      "execution_count": 13,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "for idx, query in enumerate(queries_ai):\n",
        "  display(HTML(f\"<p style='color:red;'>Query n° {idx}</p>\"))\n",
        "  messages = build_message(query, pdf_data)\n",
        "  display(HTML(f\"<p style='color:fuchsia;'>--------QUERY---------</p>\"))\n",
        "  display(HTML(f\"<p style='color:fuchsia;'>{query}</p>\"))\n",
        "  print()\n",
        "  completion = get_completion(messages)\n",
        "  display(HTML(f\"<p style='color:green;'>--------ANSWER---------</p>\"))\n",
        "  print(completion.content[0].text)\n",
        "  print()\n",
        "  display(HTML(f\"<p style='color:blue;'>--------TOKENS COUNT---------</p>\"))\n",
        "  display(HTML(f\"<p style='color:blue;'>{completion.usage}</p>\"))\n",
        "  print()\n",
        "  print(\"--------STOP REASON---------\")\n",
        "  print(completion.stop_reason)\n",
        "  print(\"\\n\\n\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "nJ1Q1fGwzgyi",
        "outputId": "c3eb1d07-8809-4312-f796-7eaf919b6fc5"
      },
      "execution_count": 14,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:red;'>Query n° 0</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>How does BlackRock view AI as a theme for investment?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Based on the document, BlackRock maintains a positive view on AI as an investment theme in Q4 2024, but suggests a more nuanced approach compared to earlier in the year. Here are the key points about their AI investment perspective:\n",
            "\n",
            "1. Continued Conviction:\n",
            "- They \"continue to see tailwinds for AI beneficiaries\"\n",
            "- Maintain conviction in the AI theme, but suggest patience is needed as the build-out has \"far to go\"\n",
            "\n",
            "2. Broadening Focus:\n",
            "- Moving from a narrow US tech focus to \"a wider set of opportunities\"\n",
            "- Looking beyond early AI winners to capture broader earnings growth\n",
            "- Expanding to first-phase beneficiaries in sectors like:\n",
            "  - Energy\n",
            "  - Infrastructure \n",
            "  - Utilities (for powering AI infrastructure)\n",
            "\n",
            "3. Infrastructure Emphasis:\n",
            "- Highlight the significant power and infrastructure requirements for AI development\n",
            "- Note that a data center using a 100k GPU cluster would require \"a small power plant to run\"\n",
            "- See opportunities in public infrastructure and utilities sectors to support AI expansion\n",
            "\n",
            "4. Cautious Near-Term View:\n",
            "- Acknowledge that sentiment shifts on AI capital expenditure could impact valuations\n",
            "- Recommend patience as the AI infrastructure build-out progresses\n",
            "- Suggest maintaining tech as part of a \"quality core\" in equities while broadening exposure\n",
            "\n",
            "5. Long-Term Outlook:\n",
            "- View AI as one of the structural \"mega forces\" affecting long-term investing\n",
            "- See persistent supply-demand dynamics creating opportunities in related sectors\n",
            "- Maintain strategic conviction while advocating for a more diversified approach\n",
            "\n",
            "The overall message is that while BlackRock remains positive on AI as an investment theme, they recommend broadening exposure beyond pure tech plays to capture opportunities across sectors that will benefit from AI's infrastructure needs and ongoing development.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=31019, cache_read_input_tokens=0, input_tokens=30, output_tokens=397)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:red;'>Query n° 1</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>What sectors does BlackRock believe could benefit from AI infrastructure growth?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "According to the document, BlackRock identifies several sectors that could benefit from AI infrastructure growth:\n",
            "\n",
            "1. Utilities - The document notes that utilities could benefit from AI's massive power requirements, as data centers using large GPU clusters for AI require significant power capacity. It mentions that \"a data centre using a 100k GPU cluster – a target in sight for several large AI players – would require a small power plant to run.\"\n",
            "\n",
            "2. Infrastructure - Public infrastructure is highlighted as being well-positioned to support the growing AI demand, with a strong tilt toward the utilities sector.\n",
            "\n",
            "3. Sustainable Energy - The document indicates they \"look to sustainable energy exposures\" given the power demands of AI, against a backdrop of advancing technology, declining costs and supportive policy.\n",
            "\n",
            "4. Technology - While maintaining conviction in tech's growth prospects, BlackRock suggests broadening exposure beyond just direct AI companies to include \"first-phase beneficiaries\" in energy, infrastructure and utilities that are \"building out and powering the vast infrastructure required for AI's expansion.\"\n",
            "\n",
            "The document emphasizes that markets may be underestimating the scale of capital expenditure and power needs required for AI infrastructure development, creating investment opportunities in sectors that support this buildout rather than just focusing on direct AI technology companies.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=31, output_tokens=268)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:red;'>Query n° 2</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>What are BlackRock’s thoughts on the impact of AI capex on market valuations?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Based on the document, BlackRock has several key thoughts on AI capex and market valuations:\n",
            "\n",
            "1. They believe patience is needed regarding AI capex, noting that \"the build-out still has far to go\" but sentiment shifts around AI capital expenditure could weigh on valuations.\n",
            "\n",
            "2. They are fine-tuning their AI exposure approach by:\n",
            "- Broadening beyond just direct AI technology companies\n",
            "- Looking at \"first-phase beneficiaries\" in sectors like:\n",
            "  - Energy\n",
            "  - Infrastructure \n",
            "  - Utilities (which will be needed to power and build out AI infrastructure)\n",
            "\n",
            "3. They note that markets may be \"underestimating the scale of capex and AI power needs\" - particularly around power capacity requirements for large AI models and data centers.\n",
            "\n",
            "4. While maintaining conviction in tech overall, they acknowledge investor questions about whether \"the price for growth may be too high\" but maintain belief in tech's growth prospects.\n",
            "\n",
            "5. They see significant infrastructure investment needs to support AI expansion, noting that \"a data centre using a 100k GPU cluster – a target in sight for several large AI players – would require a small power plant to run.\"\n",
            "\n",
            "The overall view appears to be that while AI valuations may face some near-term pressure, the massive infrastructure and capital investment needed to support AI development creates opportunities across multiple sectors beyond just technology companies. They advocate for a broader, more diversified approach to capturing AI-related investment opportunities.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=36, output_tokens=319)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "### US Election related questions:"
      ],
      "metadata": {
        "id": "aTpu0N1m1f4P"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "for idx, query in enumerate(queries_us_election):\n",
        "  display(HTML(f\"<p style='color:red;'>Query n° {idx+1}</p>\"))\n",
        "  messages = build_message(query, pdf_data)\n",
        "  display(HTML(f\"<p style='color:fuchsia;'>--------QUERY---------</p>\"))\n",
        "  display(HTML(f\"<p style='color:fuchsia;'>{query}</p>\"))\n",
        "  print()\n",
        "  completion = get_completion(messages)\n",
        "  display(HTML(f\"<p style='color:green;'>--------ANSWER---------</p>\"))\n",
        "  print(completion.content[0].text)\n",
        "  print()\n",
        "  display(HTML(f\"<p style='color:blue;'>--------TOKENS COUNT---------</p>\"))\n",
        "  display(HTML(f\"<p style='color:blue;'>{completion.usage}</p>\"))\n",
        "  # print(completion.usage)\n",
        "  print()\n",
        "  print(\"--------STOP REASON---------\")\n",
        "  print(completion.stop_reason)\n",
        "  print(\"\\n\\n\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "lOIc-thL1TUa",
        "outputId": "332e7cbc-d39b-4999-a6f2-973aa22a0461"
      },
      "execution_count": 15,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:red;'>Query n° 1</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>How does BlackRock anticipate the US election may impact trade policies?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "According to the document, BlackRock anticipates several potential trade policy impacts from the US election:\n",
            "\n",
            "Key points:\n",
            "\n",
            "1. Both candidates are likely to pursue additional export controls on national security grounds, especially in advanced technology.\n",
            "\n",
            "2. Different approaches to tariffs:\n",
            "- Harris is likely to maintain the status quo, with potential for more targeted tariffs against China\n",
            "- Trump has proposed more aggressive measures including:\n",
            "  - 60% tariffs on China \n",
            "  - 10-20% broad tariffs more generally\n",
            "\n",
            "3. Market implications:\n",
            "- Increased protectionism under either administration would reinforce geopolitical and economic fragmentation\n",
            "- This could contribute to keeping inflation higher over the medium term\n",
            "- Markets may see increased volatility as the election approaches\n",
            "\n",
            "4. Portfolio considerations:\n",
            "- BlackRock suggests UK equities as a potential hedge against trade rhetoric, noting that:\n",
            "  - UK large cap equity returns have low sensitivity to shifts in global trade\n",
            "  - This could help insulate portfolios against potential pickup in trade tensions ahead of the vote\n",
            "- They recommend alpha-seeking strategies to capitalize on stock-level dispersion and manage short-term volatility\n",
            "\n",
            "The document emphasizes that control of Congress will be key for implementing any trade policy changes, regardless of who wins the presidency.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=32, output_tokens=275)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:red;'>Query n° 2</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>What potential market impacts does BlackRock see from the 2024 US presidential election?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Based on the document, BlackRock identifies several potential market impacts from the 2024 US presidential election:\n",
            "\n",
            "Key market implications:\n",
            "\n",
            "1. Trade Policy:\n",
            "- Both candidates are likely to pursue additional export controls, especially in advanced technology\n",
            "- Harris is expected to maintain current tariff policies with potential for targeted China tariffs\n",
            "- Trump's proposed 60% tariffs on China and 10-20% broad tariffs would represent a major escalation\n",
            "\n",
            "2. Economic Effects:\n",
            "- Increased protectionism under either administration could reinforce geopolitical and economic fragmentation\n",
            "- This could contribute to keeping inflation higher over the medium term\n",
            "- Immigration policy changes could impact the labor market\n",
            "\n",
            "3. Market Volatility:\n",
            "- Market attention and volatility are expected to increase as the election approaches\n",
            "- The document suggests using UK equities as a potential hedge against trade-related volatility, noting their low sensitivity to shifts in global trade\n",
            "\n",
            "4. Fiscal Impact:\n",
            "- Neither party is prioritizing deficit reduction\n",
            "- Either candidate could pursue fiscally expansionary policies\n",
            "- This could bring volatility to the long end of the US Treasury curve\n",
            "- Could lead to higher issuance and push up 10-year yields\n",
            "\n",
            "The document recommends investors consider alpha-seeking strategies to navigate through potential short-term volatility while identifying high-quality investments during this period.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=37, output_tokens=297)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:red;'>Query n° 3</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>How could UK equities serve as a hedge according to BlackRock’s election outlook?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "According to the document, UK equities could serve as a hedge against potential US election-related trade tensions because:\n",
            "\n",
            "1. UK equity returns have a low beta (sensitivity) to shifts in global trade, despite their international revenue exposure\n",
            "\n",
            "2. This makes them potentially useful for insulating portfolios against increased trade rhetoric ahead of the US election\n",
            "\n",
            "3. The document notes that UK equities were recently upgraded due to a more stable political backdrop post-UK election, adding to their appeal as a defensive position\n",
            "\n",
            "4. When combined with alpha-seeking strategies, this could help investors navigate through short-term volatility while still identifying high-quality investments\n",
            "\n",
            "The document presents this as a strategic way to maintain market exposure while reducing vulnerability to potential trade-related volatility that may emerge during the US presidential campaign period.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=36, output_tokens=172)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Next:**\n",
        "\n",
        "-  Claude is quiete good for retrieving text and providing context with this new feature.\n",
        "\n",
        "-  However how is it behaving when it comes to extract information from charts?"
      ],
      "metadata": {
        "id": "Gw7kjuEkZ0tn"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Charts extracion:"
      ],
      "metadata": {
        "id": "4tT8J7yBi1Y-"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "## Complex Bar chart:"
      ],
      "metadata": {
        "id": "t9opUtbE3QQE"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "You can ask Claude to directly extract figures from a specific chart on a particular page. The page number should match the actual number displayed by a PDF viewer, not the number printed at the top or bottom of the page:"
      ],
      "metadata": {
        "id": "STCTOM77a353"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "query = \"Extract from page 8 all data included in Chart 1.\"\n",
        "messages = build_message(query, pdf_data)\n",
        "print(\"--------QUERY---------\")\n",
        "display(HTML(f\"<p style='color:fuchsia;'>--------QUERY---------</p>\"))\n",
        "display(HTML(f\"<p style='color:fuchsia;'>{query}</p>\"))\n",
        "print()\n",
        "completion = get_completion(messages)\n",
        "display(HTML(f\"<p style='color:green;'>--------ANSWER---------</p>\"))\n",
        "print(completion.content[0].text)\n",
        "print()\n",
        "display(HTML(f\"<p style='color:blue;'>--------TOKENS COUNT---------</p>\"))\n",
        "display(HTML(f\"<p style='color:blue;'>{completion.usage}</p>\"))\n",
        "  # print(completion.usage)\n",
        "print()\n",
        "print(\"--------STOP REASON---------\")\n",
        "print(completion.stop_reason)\n",
        "print(\"\\n\\n\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 693
        },
        "id": "AsSdyI5X3uB_",
        "outputId": "b36eaa6f-42c9-43e1-d1b3-8bb1fa1f05d7"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--------QUERY---------\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>Extract from page 8 all data included in Chart 1.</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "From Chart 1 on page 8, here is all the data showing fixed income sleeve comparison between Morningstar EMEA Portfolio Average Q2 24 and BLK EUR Strategic Model Q2 24:\n",
            "\n",
            "Morningstar EMEA Portfolio Average Q2 24:\n",
            "- Govt Bond: 36.8%\n",
            "- Linkers: 3.7%\n",
            "- EUR IG Credit: 12.1%\n",
            "- Other IG Credit: 1.0%\n",
            "- EUR High Yield: 8.4%\n",
            "- Other High Yield: 4.7%\n",
            "- EMD: 11.2%\n",
            "- Securitised: 16.4%\n",
            "\n",
            "BLK EUR Strategic Model Q2 24:\n",
            "- Govt Bond: 57.0%\n",
            "- Linkers: 19.9%\n",
            "- EUR IG Credit: 13.4%\n",
            "- Other IG Credit: 6.5%\n",
            "- EUR High Yield: 2.5%\n",
            "- Other High Yield: 4.7%\n",
            "- EMD: 1.5%\n",
            "- Securitised: N/A\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=31, output_tokens=266)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Here is the chart I wanted Claude to extract: (Chart 1, in the left side)"
      ],
      "metadata": {
        "id": "q0_mnmRkbRWq"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "img_path = local_path + 'BlackRock_chart_extraction.png'"
      ],
      "metadata": {
        "id": "qoEUUXtw4l51"
      },
      "execution_count": 21,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "from IPython.display import Image, display\n",
        "display(Image(filename=img_path))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 603
        },
        "id": "9-S10U0ycM0o",
        "outputId": "3e9bc623-ca25-4966-da49-a6d8e5b7e6a7"
      },
      "execution_count": 22,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA4YAAAJKCAYAAABwLlt2AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhe7N0FfBNnAwbwJ0mNeotTowWKu7u7F9fhLsMpugHDtiHD3WEwBsNhuOtwd22hUOqe5P0uyQGlFAob8JHk+e93o6dJ7i6Xe+699z2FkICIiIiIiIjMllL+l4iIiIiIiMwUgyEREREREZGZYzAkIiIiIiIycwyGREREREREZo7BkIiIiIiIyMwxGBIREREREZk5BkMiIiIiIiIzx2BIRERERERk5hgMiYiIiIiIzByDIRERERERkZljMCQiIiIiIjJzDIZERERERERmjsGQiIiIiIjIzDEYEhERERERmTkGQyIiIiIiIjPHYEhERERERGTmGAyJiIiIiIjMHIMhERERERGRmWMwJCIiIiIiMnMMhkRERERERGaOwZCIiIiIiMjMMRgSERERERGZOQZDIiIiIiIiM8dgSEREREREZOYYDImIiIiIiMwcgyEREREREZGZYzAkIiIiIiIycwyGREREREREZo7BkIiIiIiIyMwxGBIREREREZm5rxsM1U9xYsU49GpZB5XKlkTJslXQoP1QzN73AHGvJjm3BIN690Kv76fjQIg88P8t7j52TR+KPn3H4a/7GnngR9IGYOfoesiTLhUsrRzhVmIkDr/Yg0GFXGBt54PmS+/jE5f4CdS4tmYk+vTqhb6TtiNAKw9+LQJ7BhWCi7UdfJovxad+NJOhvoBlQ3qjV6/vMXVfMN5ZTfR1RHyt7wURERERJfX1gmHEcUyoVgBlvxuJWWu2Yf+REzhxZC82LZ2EXtWKovav5xErTRZ/ayfmz5qFWXM24nzElzlFV59fgF7ftUGbDhOxN1QemKxY3Ns+Do0L5ketfpMwY/YqHHv6aaeroX8NQftxW3DlhRauPlmQ2i09Moacx4nLoYiPfogTp+9I8e1L0eDB/iWYLa3POetOQXoLb9M8x/kTlxEaH42HJ07jzpd7I9829W38vWA2Zs2ajQ1nwyDkwfR1aZ5/re8F0demxtMTKzCuV0vUqVQWJUuWRZUG7TF09j48eHNVFEsGGS5QTf8GrorGPdiPOUPboX7l0ihRshyqN+mOn/64jDB5/GeR3IVTaX1oA3ZidL08SJfKElaObigx8rA8w5cRsWcQCrlYw86nOZZ+xSuk6mtrMLJPL/TqOwnb371y+1X9v9bBK++ui+QvXCe/b2gRsHM06uVJh1SWVnB0K4GRuh2JiD6d+CpixfGheYSlQjrnVqQSWWv1E5PmLhYLZ4wWrQo6CyUUQpWxrdgQKkTU2qbCUTedVXkx9YFGnv/zitncXqRX6l6jspgZ8P7X0NyfIarYKXQ5wdBZ5BCDjsfJYz9GnDg2MLuwkOa1yD5AHH01q+aZODJ/hOg3aLLYcudTlvepYsWOzm5CJb2+ZaHR4kKCPPg1jXh2ZL4Y0W+QmLzljvRuzVTMetHSRSltY0tR5uc7Qi0Ppq/sq30viL6mcHFsfEWR3iLRb8mrTqESaSv/Is7FSJNFrRVNHXXTWInyUx9IR+cvIOGcmN+zrWjdur2YsCdEHviuyJMTRMU0KqFI+n6VLqLiL5fEOz8l/1LIn61FBt1vscJKpMteQOT1myHuqkPEn60zSOcFEAqrdCJ7gbzCb8ZdeY7/JuHcfNGzbWvRuv0E8ebjq8Wdn8sIS93nU3mJHnti5eFfXuyOzsJNJb2uZSEx+t0f6C8j2X3g/7cOXnlnXajviJ/LWOr3O5VXD2F4S+/ZN0L+FK0z6H7DFcIqXXZRIK+fmHGXv+RE/8bXKTGMP4E1f1xHgvQzk6rUD9i8aQoGd22Pjr1+wPIdyzFm0AzsOTkfDZ3k6WUi+hr+HNsZfjWro26boVhyJuTNbX7xT3B48Wh0b1EP1atUQa1GHTFswREEvipmUF/C6tH+GDpiCU5FBeP0kqFo12UOjhycjx9XnkOU7nCjvYdtE4dJ0yzE8QjDbIkpvVqhV8viqNy8KjJL6e5dWjzZNhotatVD59mn5WEybTAOzhmN2Qef6d+ziDqPFSOHYsTC44jQBuFRgBpWylA8fhKJ+JsbMWHYUAz1/wEr/okyzP7yMOaNkN6//49YdSHaMCz0ItaN74Hmdauhas1G6DR6Bc68THyVMR4Pdk9Dn+a1Ua1GI3SduANPPljsokXQowCorZQIffwEkdKi1JdWY7S/9D4Xn0Lks2OYP7gt6lWvhvrtRmDlhcTXirUIubAW43u1RL1qlVGldlN0G7sOlxOtR23oJayf1Aet6ldHlaq10biT/9u3Detfyx8jl55G2P1d+LVXU9SqVgdtR2/EnXgg+vZWTO7ZFLWr10GrwUtxLlHpbsrrIom4+9jz20C0bSC9l+r10KLneKy//KFr31qEXlyH8T2ao261qqjZqBNGrziDt15CG4qL68ajR/O6qFa1Jhp1Go0VZ17qt7f22T7MGK7bpj9izSXpw+hpEbhnOoYPHQr/cX/gmm7bfGAZyUtpvUvv+9J6TOrTCvWrV0HV2o3RyX829r0plsCl1aPh7z8SS0+H4f6uX9GraS1Uq9MWozfekfagaNzeOhk9m9ZG9TqtMHjpObxa7W/2jZMIe7gH0/o0R+1qNdGk+8/Yfu/N1dn4J4exeHR3tKgnresqtdCo4zAsOBL4ugTw9XKWnEJU8GksGdoOXeZckN76298L/TpIabtJ6+/S+kno06q+dByoitqNO8H/rVKYV8eBxTgV+QzH5g9GW+l9VavfDiNWXvi8pR9EyYg7MR5dRh/AM+kLkCprLfSbNBeLF87A6FYF4azQ4MWBXzF1x1faE9WPcHz9SqxcuQp7rse85zgTgt1zZuFwsAo+jX7B9nM3cP3Uegwo4QilNgSHFyzFqVeHtP8kHteOn9bfyWLh2xsbL57DxT97wVtzDcdPv5DemwV8e2/ExXMX8Wcvb3me/0b96DjWr5Q+/6o9uB7z6tOrkLntRMwa0Q+DJszEgLLW8nATlew+8A2uA1VmtJ04CyP6DcKEmQOgf0vxye8b8deO47RhR0LvjRdx7uKf6OWtMiyHiD6NHBC/KM2TGaKSFaQoZilKjL/+wRKZ1yWGlr6idIm0QqX7W3qbuk6ZrpFYoS/heyk2tnMXFonG6TuFtcjea6fQXwN7dfXVsoBo2bG4cFJCqLx7iN9/qSisEs+j61IoOUy4MFoUspSme6fE8IWYX8Naf1VV5dVdHiZT3xITSxqudiXurCrPFAFRSUqoEq6LmdVT60tObYuMFqdjwsW+vtmFpUIh7IqNFqd0V5ND9onBhRz0V8reLE8h7AsOFQfCdS+oEQHrvxPelomuSissRapUlvr3l3yJYYxY39JFv0zLMj+LO9KGebX+LXyriVo5bN66YqzM0FSsDtStJ40I2tZL5LZNegVcKZzLTtK/jubFDtE3n907V5wVFulF7TmGfeD1a2UtLypmNrxP/XQKW1G410jR2M0i0fwqkanNn/p3nfK6SELzQmxs72UosU40j9Kpkph+Q3onyZQYhuwbLAo56IYlmkdhLwoOPSAMLxEi9g0uJBx0V7sTTaOwLyiG6t5E3HExOKeFNEwlMvfYI61pieahmFnFVvpMSpGm6RoRnNIy3pHSeteIFzv6inyJS7n1nUJYpK8t5lzXr3Wxtqmj9B4sRNbyFUXmRPuLwraw6DWysXBLXLKhyiTa/Bmsf/XX2yuLtL28E20v3VVa355ip+6L93KjaOeeeLsZOoV1dtFLP8Gb5VgWaCk6FneStqNKePfc9+52SGm7SeN39M0n7JKMh8JCpK89Rxg+rnwcsPAV1WrlEDaJp1VmEE1XB36ZkhkivThxoE8W/V0jilSlxaSriQ7Cmqdi87hBYub+h0JfGJK4xHDKNXF5/RjRqWENUa1OazFk8Wnx8vWOGiceH1okRnVrLupWqywq1/QTHfzni8MBr5adIC6uGiWGDhkuFp+MFC9OLRZDvussZh8+IOYNbSoK2Otew0L41OwjhkjTLDiWzLEm9o7465f54lik3C8dFa+MLaovUVJm6CC2Sgc0zeOtYlTzmqJup1niVIQ82Vs0IuTCWvFT92aiTtUqooZfRzFq+WkRrP8JeSEOzB4qWhfV3TEk/X66VxbdBg8Rw6bOElOGthZFnXXHAZVwr9xNDE70HjUhF8Tan7qLZnWqiio1/ETHUcvFaf0CX9GIl+d/Fz/1bCHqVq0kKtdqIrqOWSsuSbOHHpknhjYtIOx1xwALH1GzzxAxZPgCoVt0wqU14oehUv+wOeLQ8wCx97dh0roZKn5YffH1nTSagN1i2jBpmqFjxTr9dvzA53uPuPt/i6m9m4laVasLvy4TxMaF7d8uJYs4LhYO173GCLH8nLw99etK9378xU/rDb+dCRdXiVHS+x2++KSIfHFKLB7yneg8+7w0JoV9I/TIe/eBt9bB6w8hfcaLf4iJvVuKetLyqtRqJDoOnSX23n9VovhmX1t0MkI8PTpPDGpTV1SrWk98N3yFOB8qT5aMFNeFtOxLa36Qli3tF3MOiedBB8Tsd/aNYWLqrCliaOuiwln3O6pyF5W7DX69XVPcRgkXxapRQ6XpF4uTkS/EqcVDxHedZ4vz+s0bIi6s/Ul0b1ZHVK1SQ/h1HCWWnw6WlmjwehssOikinh4V8wa1kdZ5VVHvu+FixVsf/P37pMGn70dEX9JXCYbqy2NEEV2wgrWos+T1tyFZr4OhdLKZKmtt0W/8JDG0fjaRSjdM4SAarjB84UIPjBWdBi8TR249E8GBV8TGXgWEtTSNwslPrNSdf776kZXClUKhFI5ZyomGPReLf24dE3/9WE246A4i0gGo18rNYvPW4+L1cS4Z7w+GanF9SQdRJl8hUXPUbnnYK5Hi9pG/xKT6GQy3cubqKBZu2iy2Hr8vYpMJIup7i0WDDCr9ZyzRrrUoYCO9b8fSYvx53RtTi1u/lNOvA5VnYzHv9GPx5Pwi0cxLN72jqLPoqW4li7FFdSfrSpG68nhx+EGguL7FX5TRH0Q/PRgmXf/6E2rpvfmtlLaf+pqYUFIXiJUiXY1J0mu9EI9PzRetS1UR/pvvSz9NanFtYkn99lBlqiemH38obaPzYlmbrPowr/LuJfZJH+vNa0nBpkArMWricNHQ91UYlYYVbmMYls0QvpXp20vv+SPWRVIxm0W7dNJ6kE4GOm64L15I+8u2CS1EQ//dIkh38E26PaRQ/0u5VNJrqoRn43ni9OMn4vyiZsJL+tFSONYRi55qpNz/iyiXStq/VJ6i8bzT4vGT82JRMy9pWyuEY51F4qkmQVyWTqSs9O+zq/hbdyL1ZI6opgtt0o9Xx60RH7EMw9t/LaX1Lo2fqB8vheh608Xxh8Ei8Pwy0SarLqhJ4avXPukE9FUwlNax0lkUaDVKTBzeUPhK+5shLDmLwm0Mw7JZ64YpRfr2m/Uv/3p7KayEb5vF0noJEJdWtRe+unCpcBINl+sCZKg4MLaTGLzsiLj1THr9KxtFrwK696QQTn4r9RdtXi1HoftuKh1FlnINRc/Fl9/dDilsN/W1iaKk7j1K4bXe9OPiYXCgOL+sjciqC7Yqb9HLsJPJJ9u6E/Osona/8WLS0Poim/7zKoSD9J4+fEQi+g80T8SMSlb6/c+yxHjDxYr3eb2vWgrf0iVEWpVhvzV8L9OJRisC9CelLze2E+7v3JaqENbZexkuzrz+jluKAi07iuJO0ndI+j70+P0XUVF/gTZxZyUqzwzQzfRhCVfFz+Ud9N9juyozha6Wx4v5NfTHeN2th92TufXwgxfX3nPh1LJkPVHY4u1hr9/jR1wcff+Fswli16/vvygcs76lfE5QRvx8J1ocH5xTH+ZVmXuIPYareuLhzCrCVvq8yjRNxRrpUJfyxcO3aQLWi++SXFCzTJXKcOFLDkOap7NFFd02UtiIBiuiDDO+Xlcq4dZpu/4iwqtjaNKLayntG5qH0967D7y9DnQ76qddaPStVkvkePU7ou+UIkPT1UJ/LTmJj1kXSc9Pbl6Xjvf688jEnaUoWa+w4RbYxJ28XVPcRq++c28VIPSUzk9Svmj7ahv814von7ofEX1pXycY3pokSsnBsOZ8Q+nD+7w++VT5SCd2+iOyEEHzRHX9SaqVqDj9oWFYQqA4tmS06NHaT9StXUvUKOGtP2jDsoSYoDtgvf6RVQir/IPFkUTfsI+tY/jK+4NhSmLFvl7ehmBYcqK49eqkIJlgqDuAPF7TXLi/OhmQTtAr/npZvloZIVY21JW+SSeyRdqJ0WPGiDFjRovWBXWlTyrh1X2PEOHLRQPdwUfhLJr8/urybaR0YNWVREqv/6nBMNH61/1YVU28/iNXCT/dFUfptZqve31JOZFIscrPXnpvSpGxw1ZDaZkk7vggkUP3o29ZVvx6T/PmtXTr9Zjuk2rE/anlDT/er38cpCAohUzdgV+RqqHU/xHrIqmEC+KHwlbyBYKyomHHQWLS8oPinvy7+872iFgpGup+DKUgXKTdaGn50muMbi0K6tavfBIUsbKhvqRK4VBEtButew9jxOjWBfX7oK70WHeepL4r/Qjr53EXnbdHiID5NfVXqy18+4lD0viPWcZbUlrvr8YrM4oOukv6enHi+KAc+pMcy7K/inuaN8HQIscgYVjt98XU8vLJ66v95PXJiEKkarhCv6TX2+vVd0wn4bwYVUA3nYXIPfSkYVDgMbFkdA/R2q+uqF2rhijhrds20rJLTNCfGL9ejhQw8w8+8ubHL+l2SGG7Ra7y069PZUZDCYZe3HExKIeupNZSlP31ntC8Pg6ohI8UjPWTaZ6K2VUNFxusKk4XD1M+BBD9O+rLYkwRQwCyrrPkwyd677uIobt4pDveSd9D/WXR0ANibKfBYtmRW+JZcKC4srGXKKA7PiuchJ/hqqj8HdddFFUIpWMWUa5hT7H4n1vi2F8/imryd6xQr5Vi8+at4viHrorqaALElp6GknmFpa/oIZf8q68vER3K5BOFao4Su5MWb6R4cS08+Qun+w6KfX9NEvV1F0ml95ir40KxSf8eoz7i4uiHL5yF3Xv/ReGkoSjh8lhR1EpapypP0dVwVU/Mqab73VEJ945bRcRHXDx8m1p/oVAXfJSpK4vxhx+IwOtbhH8ZQ4npvw2G71xcS2nfiLn33n3gnWD4qRcade1H1O4nxk8aKupnMwQlhYOf0F1LftvHrYt3zk/Cbosjyewb+w7uE39Nqi8y6Esbc4mOCzcZtmvUR2yjV9+5JAUIF66lfNH29e+Y7jfy315E/+T9iOjLk75zX54qvRfcpV8VXSuZd2/ewNvVEzSIi0umIpzKAz4+UkTQsXOCo/yn7msI7XNs6lYGFTqMwYLtlxEUFYO4hFetaGmheavihAXyNGiF4g5y7zdLiQzFKyCvk249SYca65yoWj0bDB87BpHRav1Hj7rwO36eOBETJ/6MDTeAVLappE8orb+YKESrdccoGzjYv6oQaQEnRzsYlviJEq1/pYMrnBOv/4QYxCYYXss2VXL38ScgJjZBd3REKrs3r6+U/tbvBohDbIxuQTJlemTKpHvPSjg7ORiml4a5u+uGKeDw6jMI3TwfsS6SssiHAYtmon2RdIi7exgbF/2MIW0rIl+ZQdibXON/MZGGdYkoXPj9Z2n50mv8vAE3kEr6vNJ70q3uyGgYJrmA33/WvYeJ+NnwJiBPImXIZmhVyREKTSC2r9+ADZuPSEu0RJ5mbVHS+uOW8ZaU1vvr8algZ1jREqX0t7z+4mLx9mrPBMNqd4aTg2F6ZXp3GFa7AxzlZehXe2LSOCdnefkKe9jbGf5MSFBLX81N6FamAjqMWYDtl4MQFROHN19Nzdt1mizyoEGr4njvVzOF7ZYQEwvDx321X0mU0t9yT1xsjH4/MVDBw8fH8H1SOsD1rR2a6EuxhvWrXU2TIB0ZP4YK3h3nY/0UfwyesAADy1lJ31+BuNCXCNd9gZxKo1OHnLi7+kd0b9cJg+adQZjucCCiEfDomX4JBtK+bZkPA7efw8EN0veoUFaUrF4Qbvr3o4BLjkqoXbc2Snh9oD6Z+gH+7FEdLWZfRJTCFeV+WI5J1Z31o1TZ22HR4Qv4Z/uPqOKa5FQi5iSO/hMrnd3aIp19AHYsXoTNDy3hqitijLqEM5etkKV0DRT1SGWY3ikbyteui9oVy6FijaJ4M7i8/B61OHn0H8RKp9C26ewRsGMxFm1+CEtXa+m0PAqXzlwGYs/i9KV43Rk1KnXoiTKeqeFWtDNWHN2N8XW94Ji5JKoXdDMcAxQuyFGpNurWLoHkPr5FjlZoVTqVdOx+gm1/7Efks23YfCxadx89mnxXBfYpfr6kWzoaZ/+5Ih3vFXCs1Bm9y3giQ/Y6GP59LUhh7F+TkhDyDdyOcwc3YGb73CnvGzaZP34fkNbnKd36VKZDjS5dUMLDFRnyN0ePhlmlPVSDxxfOITDRAV3l3RHz10+B/+CfMK9fWVhJh2ERF4Lg0LeO+pJ/uS7ssqB0MvtGxXIVUaOoh/TrrB+KbOXl7ar9hG2k/6oMxPZzB7FhZnv4/HMU/8RKZzC26WAfsAOLF23GQ0tX6DJ21KUzeGvzqrzRcf56TPEfjJ/m9UNZwwdHSHBoivuk1SfvR0Rf3lcJhrArg0ol7KXDkBq31/6GPx++aQo57NRPqOqdA1X7LMDJ4LcPIIpXJ3tJRezE0rV3Ea/Kjr5bLuLE/n3YMrz8m5PDt0jBwtn57Q+qVBr6hXSinPhMOYm44Ee4d/cu7geGy2FWjfCn93H37j08CDI0CBN2bgVGfz8QP2+7p+//1+Iv47dO/tgVopBOuqUwEXMC4zv8hJP6tmgc4eGeWnrP0oG01hzcjYhCVJTUBZzGvhMPcHN2dcA+PdI5SJ9KBOPyhXuGZ8Cp7+Dkuadvn4x/gveu/1RucEuju84rvdZF+bUQiROrFmL/I92aSgU3tzTSj4cWTy9fwlP5DYRduox70sQKGzd4ZEwSbJJ7rWRf/yPWRTKERX703/sIT2+fwNaF/VE+rbQbnV+A+X8btuNbHD3gnlpal9LBvNacu4jQLV/qAk7vw4kHNzG7urU0iTsMk9TCnLsRhvcQFYDT+07gwc3ZkCaR9rMM8GtTE2mUGgT+NQzj90VK54nF0ap1XinA6l7mI5aRWErr/dV47VNcvvRqu4fh0mXdtArYuHngX6/2xDTX8c9pubWb8HM4f1u3UVVw8/KSvppLsfZuvHTS2BdbLp7A/n1bMLz8ey5OSAHT2Vn/TXyvD223VG5uMHzcy7j0ZifDZcNOBjePjNI+mMh7d2iiL0SVHl7uhv1fc/cmbiRptEUTF/fuBaDEFzFgB6e3r4ri+aZuKFOhA8Ys2I7LQVGIiUuQjwW6ay9vH+0t8jRAq397VTTuBpZ9VxWt519ClBQOKo3dgo1Di8NeHv1BH3Fx7dN8xAXBFC9YfgKVF5q1qgRHhXTs3r4eGzZsxhHpt9gyTzO0NVzV+8TPF4Mo/fuXjsMO9vrjv46Fk+N7zlukrf36ilwC1K82cFJvXVz7tH0jRZ94oVHl4QPDtWQlHFyd5f3XsNe+7dPXxb/ySdvo7QKET7po+18uon/27wnRf/fhs7LPRemGlkM6I7eNAppHa/FdwdwoV6ch6lUphFwVfsDhwLs4svcqoiw+9u2odNlOOtK9wIW9u3Fo10IM/GkLXuq+Xx/BIrMX3FTSEUh9CtPatUPXzqOx4Z1nCMXh+I8VkC1LFmSrMdVwhUh9G/MaZkeWLFlRqP8uacBL/DmyK8ZO/xX+fabq5/p3onBiXHuM2h8KC9+uWHN4Nhq7KRF5ehLaDdmFl1prlG/ZCFksBcK29EOluh3Qs0d71C5VGqWLFEXPHdJJuk051K4sBSaRgDMTGqB2+y5oWbEGfjrzvl+U/8C6DBrV9ZQOpYbXqtW+Ozo1KIM633VBtbI9sT3CGmWa1IOXdFyLPjgSNet2RM/OflL434gQrRLpazVFdUd5WZ/sI9ZFEpprM9CoQmmUKtYAw5YewNXHwYjUbU+lC9KkTeZgbV0eLRtlgaUIw5Z+lVC3Q0/0aF8bpUqXRpGiPaF7CevyLdEoiyVE2Bb0q1QXHXr2QPvapVC6dBEU7bkDr96FS+22qO8mReSXTxAgZVD7Cq3RIqvhNT92Ga+ltN7jy6BJPS9pfDQOjqyJuh17orNfVfTZGAKtMj1qNa0uxerPQPMYS9tVQMNOndGkag+sC9JKGa8s/GpnkL6ahosu2hcXsHf3IexaOBA/bXmZzMlBylLabtZlmqCeYSfDyJp10bFnZ/hV7YONIVoo09dC03+/kxF9JnYoU6kE7HU/N7fX4rc/H74+UUfYKfxU1Rs5pH12wclgeaDs/VdFsXPpWtyNVyF73y24eGI/9m0ZjvLvOaNWODjj7Wsv0vdT3y8QG5O4RD0J6YR4VrOq6LzmFuIs3FFnyk5sGlbq7RKdsHNYMfp7DPx5G+4lPYH9iItrn+YjLgimeMFS8pEXhXXrKYNfG9RMo4Qm8C8MG79PWpI1irdqjbzSIefTP5890qdzkJYqEHz5gv4Cqe6s/87Jc68vnOooLS1gqduUQoP7t27pc4Hm8SEcvfme3/G3Lq597L7xkfvAJ19oVBgCY4o+bl38Z5+0jd4uQPjUi7b/+iL6Z/+eEH0GhjtKv4YE8WDrKNEwT2r9veW6l9Z1Cgsn4VtrmNh0z1AB7vV924mfYxj1u2jioJCmtxIVp+nqGIaLwz+WE+nkFhUV1u6ixthRws9VKWBZTIy7qq/IJNfXSOaZUJpAsbl3AeGklOe3yJzMc3tixf7ePvr6D6/e65tOKVxbbZCmiRMnx5UV6VM5iGxtVhpme8vH1DG8JYJ29hI5rRXS58grBugrNmtE4B9thKeFNMzCQzRf/VAaEi5Oz2gu8ji/afFRYZ1RlOzxu7gt1x1UP1gvehR2kVtyVQhrj5pi3KiG+noDn1zH8IPrX3qHLw+LSfWzCQd5HepfL1NZ0X/jA7nOZIg4PqWJyJX4/SrtRdY6Y8TeZ4blJvdaoYvrCOlQKGBdUyx4qRuiEU9nV9HXO1TYNNBPo9v+Ka2Lt8ReFyu7lhAZdOv41fSW6USJPhvEA92bTa7OZ/hpMaN5HuH8uiK/9PkylhQ9fr/9+hle4adniOZ5nN+0jquwFhlL9hC/v/UmYsXh/r76On5QphZNVr+Qhxt83DLeSHG9hxwXU5rkeut9K+2zijpj9grDan9TJ8Sq/FR9IxK6BmMW17HWT29dc4EwrPanYnYVXb1DhbBpkKSOoYWnKFQ4o/w9VgiVcz7RYfkNQ33Y8MPix3LpXo+zdq8hxo7yE666fbDYOGH4aiazj+kk3Q4pbTdJyPEpokmuxOtPKeyz1hFj9j4zfOeTPQ5Eid+b6BrS0NUxnMY6hvRlhe8X/fPIda4sXUX2srVFg7qVRcFMurpFuuNaLvH9Xv1DfD9iXw0Vq/x031+lSFN1jNhycKdY0K2wcNbXTbcUxcZd1c/z7ndclmCo86irf2jpVla07tJJjPrziTzylThxdKCuVWz5O2ftLDK5uwv3110W0XplsAheVNvQKJzKR/Te/06FaLG3dzZpGdLxxzmXqNW+h+jerpb0e6ASVj7dxHbdz9z7fh9j94le3oZ6ZCUn3pJ/T6Ql7u0tskm/+Qqls8hVq73o0b2dqCV991VWPqKbfoERYmc3b/2xQGnvK6q16yY61s8vUkvrxsKrk9gmTZKgbwhPWlcKS+FWtrXo0mmU+PNJ0sZnXr+i2N7J4/U5gMKhhpj7+NXK/JjPl5hGvFjTVKTVvYb0O+hbvZ3o3KKM8EilMvxev6pXF3dCbs1at1+4i6LVq4nCbjbC2tpK2mbv1jF8+xj6MfuG5D37wLvrIEL83d3HsD6dcopaHXqITg0L6tenrkXnZmt0x9jk97Wo35sIB/37qyimvXOA/ch1kcz5yfv2jdh9vYS3vo5hSTHx9Y70EdvofeeJkXtF72zSOpJ+T5xz1RLte3QX7WpJv6sqK+HTbbu+rvDHnSultE9+6n5E9OV9xWD4ilqEPrgoThzaLw4cOSNuBSX9QflYGhH58Lw4cui4uPL0VcsTn0ItQu6fF8cOHxMXHoS/OSB862ICxdWTh8TBo+fEneBkwoMmXNw/d0QcPnFNPPu3q/ajaUTE40vi+MH94tDp2yI4uXZ5Yp7q3++BQyfE5SeRn3c9p7QuklCH3hcXjkvv5fAZceMj97uYwKvi5KGD4ui5OyL5l4gRgVdPikMHj4pzd4Jfh8ZP86nLSHm9xzzVve8D4tCJy+JJ5OdZ62/9EN6PEE8uHhWHjl4QDyOSLF8TKR6ePyIOHb8i/tVXM4mUt1uMeKpbfwcOiROXn4jP9HGJPpuEB1vFqIZ5ROpEj4fRPVbFybeWGLbpnuE7/5EXMcIP/yjKpZNbdFRYC/caY8UoP1fpBPojgqG01MDNvUUBJ6U8v4X+cTpvixU7u7i/56KorrMW1ecGibiT40TZ9KmEQ7Y2YuXbL2KQ4sW1TwuG0gJTvCCY4oWz91wUTj4YSm/lcH/hq28lVSlSN1kt3rqs9xEXD9+ifiDW9ygsXPRBTffePUTNcaNEQ93FsNdhSCMCNvcVhV1Ur7evW6VRYvmo0sIyxWD4MfuGTvL7QLLr4F9daJSGfjAYSj5qXfzXYChJaRt9oAAhpYu2HxcMP2Kf/NT9iOgLU+j+J+2MREQfFL2uGTI2X4dwy/KYemsfvveUfrKJ6KNpwh7i6vUHCI5VwsHNF3mypsW/uVlMG/UIl87fR4yLLwrkSg8befjH0oQ+wOVrjxBt54k8eTyhq57+pcQ+vYaLt55D7eCOHHl84Kq7FfO/iH2Kaxdv4bnaAe458sDnnQVqEfnkKi7feYEEWw/kzpcFrq/qfelpEPrgMq49ioadZx7k8dTd1vjvfdrn0yLiwUVcfBSH1L4FkCNd8ltfG/kQly48QKyrtH1zpv+kfeRj941P2Qdin0mf8WYQ4qzSIEuenMhk9zl2mI9bF5/Dv98HY/H02kXceq6Gg3sO5PFxfV0n8tOktE/+l/dI9HkxGBLRR4nbORDlB+1EpGVRDNm2CG0yMhgSERERmQoGQyIiIiIiIjPHS/5ERERERERmjsGQiIiIiIjIzDEYEhERERERmTkGQyIiIiIiIjPHYEhERERERGTmGAyJiIiIiIjMHIMhERERERGRmWMwJCIiIiIiMnMMhkRERERERGaOwZCIiIiIiMjMMRgSERERERGZOQZDIiIiIiIiM8dgSEREREREZOYYDImIiIiIiMwcgyEREREREZGZYzAkIiIiIiIycwyGREREREREZo7BkIiIiIiIyMwxGBIREREREZk5BkMiIiIiIiIzx2BIRERERERk5hgMiYiIiIiIzByDIRERERERkZljMCQiIiIiIjJzDIZERERERERmjsGQiIiIiIjIzDEYEhERERERmTkGQyIiIiIiIjPHYEhERERERGTmGAyJiIiIiIjMHIMhERERERGRmWMwJCIiIiIiMnMMhkRERERERGZOISTy30REREREZKyi7mDPqpXYevouXqptkTFnOTRu1xRF06nkCZLQPMeZ9Uux/uB1PI21RGrvwqjRrAWq+tobxn/q8sioMRgSERERERk5bfAuDKneHFPOhkL7+uxeAetsnbDu6FzUS5vkRsH4K5jTuDr6bn0CNVSwsADUCRrAvgAGbTmECXmPfdryyOhxixIRERERGTUtnu9bjXWX4pC9zXwcufME90/MREM3JeJur8HiHeHydK9o8WTZYPhvDQCytcWyS8GIjQ3BlVWdUbFCY9TJm+oTl0emgCWGRERERERGT4OAY0cRUqAcctvqem9jcrlcGHJchZrzH2N7p9SGyfSCsaiOJzpvF6g04xb+7umWTGnRpyyPTAFLDImIiIiIjJ4KmUrJIU5Xgrh7KpaeUUNhWxLVKjrrp3hNfQe378dDKDPAx2IbepTPitT29kiTpQza/XYcL7W6iT5heWQSGAyJiIiIiEyG7rbSUWjQci6uqR1RcsgkdMmSpLEYbRxi46R/xUtsHDEUe5EPFctlg+rRMSzr3xSDt4cZptP7iOWRSWAwJCIiIiIyCRoEbO2HGg0n4FiYHQr0XIn1w4tCX+iXmNIFLk4KKfNFwrr2Ypw6uAHrtx/GsvaeUGkCsf/vc/KEH7k8MgmsY/gVKH5pI/9F5kAMXCH/Zfw0MbF4unS93EemzCpjOqRtUE3uIyIi4xOPu2u7o06HJbgW64Tig9Zh0/iqSP+6GEiDoIsHcDY6K8qVSIt9HbOi/uLnyDbwIC7+XApW0vwnhxRAmcm34NVnD25PL5nC8sjUMBh+BQyG5sWUgmF8UDCO+5SR+8iUOZYshIK7V8l9RERkbOIPDkDe6lNxM05A6ZwT5ctkhb3CMM7Ctw2m9gtBtxzdsCuuAEaePoVhMaNRvOIEXLLOgyY926KI6gLWzFyNs+EZ0X7DFcx1GvPB5U2f3AQeDIkmhZuTiIiIiMjIqQMeICDeUN6jDb2G/Vu3YMsWQ7f18E1Ep/KEr5cjbDP6IouLEtYlRmHt4h4oaXcT68YPwqCxq3A+zgPVhi/BhDpOKS4vkkVLJoclhl8BSwzNC0sMyRixxJCIyExpwvDw+i08jUkFt+w54ebAciNzxS1PRERERGSuVE7wzF0ExYrkZig0c9z6REREREREZo7BkIiIiIiIyMwxGBIREREREZk5BkMiIiIiIiIzx2BIRERERERk5hgMiYiIiIiIzByDIRERERERkZljMCQiIiIiMjPh4eGoWbMmpk2bJg8hc8dgSERERERkRnShsGLFiti5cyf69euHSZMmyWPInDEYEpFpUKWFU6v28OhSBtbJHtlUsCrdAO79WsLFM4VDn11muHbujaxzfkbOBWPgM7AeHNKp5JGAwrsC3CeMQw7duG4lYP1mFOBWAhn7dYZbzczyACIiom/Hq1B46dIleQjg7+/PcEgMhkRk7CxhVa4dchzegvxzB8N7QFXYWsijZIqMxeC+4A8U2T4eWX7ojDTZEie5JNKUhc+udcgztQfc2tRBuhZN4PHDRBTY8wNSp1EA1kXgs+E3eDfygdI+F9JPnIvcQ3LKM6eCc/8fke2HlrBXBMvDiIiIvg2JQ2FCQoI8FBBCMBwSgyERGTmr/PD4bQDS53OCQspt77KE4/c/wqdFTliqkp0gEQUsy9RE2pwWiF4+DGdzlMbxMj/ieYAWSu+ayFDVHop85eHiLRD2cx9cbT0UTy4pYVe1LFLpjqaeDeDR3B3af9bg0a4IwyKJiIi+Ae8Lha8wHBKDIREZt/izeDJhAR5O3I4YtTzsLQkImz0LD3+ZjaB7yU6QiEDCXyNwtnpHXO23ERGPXyL+4jFEPNRK4yygsFIB9vZQSctUh0QC2jCoQwUUdnawUNnAqWcbuNg/x4tpaxGtMSyRiIjo/y2lUPgKw6F5U0g7gJD/pi9E8Usb+S8yB2LgCvkv4xcfFIzjPmXkvm+bouhAFNndEamercOlvKMREi+PeMUyP3xOrIRH1hcI8KuGW3vf/8P4hgKWVUYg/7oWsI0/hTslO+CJqj0KnPoelgs74tyvzsh6aArSXB2DU30B32Oj4XJ3phQsN8GqQ2ukK5Ieipc38GLeCry4GSMv89vkWLIQCu5eJfcREZmnhDgNrh8PlPtMx7zl0zBrya9y38f5e+1JZEiXSe4zDWk8HJAxi5PcR0kxGH4FDIbmhcHw/+PzB0MpFJbvg9wru8DJKQph4zrg4uTL0CrSIs2Mpcjxnbfhlovwa3jcthuCKy9Dvl72eNHODw9956Dg0PSI+usENMWqw0n9By6VGIfQaP2Cv0kMhkREQGRILBYNPCr3mY6ImBBM39oXLyOfQSs+fEuLQqFE+dx+aFCsmzzEdBSq7omyTbPJfZQUbyUlInqHElY1/JF3jS4UxiBy3mBc/VkKhbpR4jle9GqAk4Wb40L1pjiVpynuXi0HjzZewMV1eLQtFVwqZ4fi0u+40XEwrv18EvAsBdd8lvolExERfW0OqVzQt850uNqnh1Lx/gbYTDkUUsoYDInIzKlgmbc0XItnkg+IlrBpNAb5lreGg30kwqf1wcXBBxD/1r0VCUi4eRFhxy4jNkQJx57t4OIUguDfViNSbQuVrTRJeDjUUpLUhEVIgdIWFvaGOYmIiP4fUgqHDIXEYEhERk3ZYDyK3z6I4n80h43udy59HeS8ehAlrv2GDBkUQKpqyH5F1z8HGX2kCZRpkH7xHpS4vRe52qWVpm+EHLsXIM/OGfDIo4KiTD/kne8HO1sFRPhzaHK2hu/a2ci9bjZy/VQd1kkbNs1QGx5tfYArf+DRxpdSEnyG2EdxUGTLD6dMrnAskR0qbQBiHrA1GiIi+v96XzhkKCQdBkNKRIlM7mUxsFgV1HB8t1l/C9ssaFW8BebX7Ibl1Vrjx/z5kOODd8fZoUSu2hharCpqOyVZniod6hRpiUW1umFBuaqo7JBoV1S4onK+OhhaqCB8U3q6AJGNI6wypIN1GjvpR07afSxsYanrT+8Elf55hjaw0PVncIGFpX4CqFLr+tPA0k6aICYA0Q8joX16H7GhWigyusHayrDjKZyzwKVmRaSpZehSl86Mt594YQmHbu3h6hymLy2M0FdbDMWLGcsRblMDOW8cRb5uGRC9YjGe3dbfiEpERPR/lTgcvsJQSDpsfOYrMIbGZ6zsc6JX2VYYkdMTLgjB/A0D0PX+m6b9rdNUxYbGrVDTXgpwWg3UutvvpD8jg7ah7pq1OJBMOx7WGZvgVPO6yBW2G9VWrMD+19NYolzFn7CngDVO37kLa/eCyB2+CaVWbcQ5aW+082yLC40rw/rKNOTddU46zTYubHyG9OwywDZ7WiiCHyDqQbg88NvFxmeIiKTzGhNtfCY5ugZpFuwegawZC6Be0c7yUNPGxmc+jCWGJLFAiaIdMCm3F1x0RS7vcEW7co1R007g1pV5yDuzA2xmDEWri1dx4MY5XEqucUdFGrQrWRl5lJHYdmorDiaeRumJ2pnTQft4MxptnoHvzj6EKm0+1HTRleakwXfFSsNbcxezz1wwulBI9FrUU0SfvWQUoZCIiMyPruSwf71ZZhMKKWUMhiRR4+jZjZh44i+sDU2mHlSqvKjnkUqa7AZ+O3wMV+IFtAkBWP33RNQ9eRPB8mSJOXnVxZDMtkgI2otxNxzRukxTTCxTFkV0t7MrbOBoCcTHRiEcAi9joyGkYQ5WSti61UBfTxsE3tyGecG89Y6IiIiI6GtgMCQ9TdgxjDx2Hg+TyYVWTunhpVJAGxUEtU87HOw0B5F95+Bey27o72b/7k6kcEfPUqWRGSFYe3wnzgh3+BWRgmKRosirC4baYNyLEEiVJiuK2ziidMaMUKl1w1zQulgZZNXex7zTF+HgVR2/Vu+B32u2xbBsGWFnWDoREREREX1mDIaUMpUlrKV/FKmK4KeyOaF5dhn7XmrglrE0JtdpjtpWhskMFMiQvQH6ZLRC1JMdGH8nSh6eiHiGlWeO4LZjNeztOQPrctng4oVd2OpcDf29UiHo1jYsUNTC+gYt0DK1AmqHghhVZwAmeereBRERERERfW4MhpQibVwUwoS0s1gmYMvOH1BpyyzU+30+loRrobLLiarp9U0/yhzRMG8hpFMAdu4tcKXfMqj7dEE9XUmhqgAW9BiG7x2BgFuLUGDBEJRcOw7FF/VHsYOPUbNYOWQTDzH/9DnYZc6L/MqHmPP3HLTeuhn7RRpU9fE0vAQREREREX1WDIaUInXofVyI0dX3i8OLmDjDQE0UQtW6Bm0FdA3bWth6orpPNmS2UEAdH4EX0VIXE4mXsbouFvH6mdSIjI1BrNwOblx0IE4+vonToVFQZayO/plT4cWd7ZgVpIG9pa4YMgahuonjpWCqkYKmVSrDjERERERE9FkxGBJgURRLOs9AQJcB6OYs7RIKJ7SqPRUB3aZiQ15nKNWXseDyI8Qq0qNz1W74qUgtjKnRDp1dVVI+vI69QfboUHMkdjQchg3FHLFgU1+km93zTTd/OXbq6i5qLqPf4qmYGyEnw9ec0aJYeeTAYyw4fQpB0OJxWDBiFBlQwt0F6TL5Ip+lwMPQIHl6IiIiIiL6nBgMSWIFFztnZLR3gIPu6d0KFexS6fqd4WqpuwdUjRPHZ6LD+duIcimOYRVaYGROT1iHX8JPO9dha3w8Hr58gfCEUNwMTaZOYQqsM1ZFfx9bhNzdgVlPDa3fBN/agelPrdCk9nQ8a1IVHi8P4ecrz/TjiIiIiIjo8+ID7r8CY3jA/cdSWaVGDhcnpFKH4EZwCCLk4V+GNTzSZEJGRSRuvXiOECPZU/mAezJGfMA9EZF5PeDeHPEB9x/GEkP6JJr4YFx5dhdnvngo1InDoxf3cOq58YRCIiIiIiJjxGBIRERERERk5hgMiYiIiIiIzByDIRERERERkZlj4zNfgSk1PkMpM6XGZ4RajbjL1+U+MmUKO1tYZ/OR+4iIzBMbnzFtbHzmw1hiSEQfpFCp2JlDp+TPARERkTnjmQAREREREZGZ462kXwFvJTUvpnYrafy1W3KfkdGG4uTW9Tj03AZ5qrVATQ+VPCIxDe4eXoM/b0TjnQOhwho5K7VCXW8N7hxchbl7r+OFMh2K1GiJriUywUI/kQaPTqzH2itxyFm5JWpnNgw1RgrbVLDKklnuIyIyT7yV1LTxVtIPY4khEZmkuMtL0fOHKfjhrwdIlTq5UKijxs098zHqt2nvdtNn449bCYg9MwX1+03Dn/fiEHl9Iwb36oMJ19SG2aNP49cx4zDq9xsQrsYbComIiIgYDInI9GieYPncNbiicULNjp1QzlYe/g4LZKvUCaN69n7dDWuQDy4KwNKjMhrkV+LC4aO4pyiKwVOnYs241sinvYm/jzyERvrv/uaFWP3EAkWatUMNR3mRREREREaIwZCITE7Y8fn49VgELLO3gH+1YKye8SuGz9iIf+LlCV5TIUv5tvDv2h3DdF2L/Ai9eA0hljnx/U8j4JdegcjIaCklOsDVTgmlkxOcIRAZFQlNzFnMWHUSkWmro3+TbPKtpURERETGicGQiEyL+hbmzt2C+0iHJl3borDiFv5augi/Lv0bl+PkaZIVhYNzfsL8u1p41++HwQV0xYwqeLplgDLuFk5cCsWzcxdxU2sFD/cMCNi2ECsfKlGgSXtUizqGGT8PR5tBQ/H9gt24IWVJIiIiImPCYEhEJkSLp7tmY9alWNgVbIchFZzl4SnTBmzGL3/dg9oiN9q1KgkH/VAVstRpj9YegZjdqRS8B25BhG8z9Cr3ELOXH0e4a1X0b6TF1P49MXT7HQjVU2yfOwANpx2XYiYRERGR8WAwJCLToQ3Gpk37ECSAqLO/oEDhPLAtORxbE6RxCQfRveJ3mBGgNUz7Fg3u/b0dB6U0Z5G9Aup7vWmsRpmuKuas340LK5dhz+rtuL56IHIfWYTlDxTI37gD6sQcw56bGuRrNhZLJ/6KwcWUeHD8EC7oXpOIiIjISDAYEpEJEbBI5YI0LlLn7ARXJ11nCyv9OEvYO9nDWqnGs+tHsOP8E7y+41MbioOnriJeOiRmyJUP3kkbMbVKjez5iqJMHi+4ai9i5vKjCHOphO+b54BFdLS0HAUcHRyluW3hbC+9WkwUIvggICIiIjIiDIZEX5E64BCW/jIJs3beh0Ye9i4Nbm6ZjokTJmDCW91kLD/xErryrtg7W/FL/45o3aYzBs/Yi4fy0xN0NI/2Yt6kiZi+5SYSDTYPynToOP0AHh88+qbbORzVLKVxlqXw81+z0En1Fzp/1wUNO/TBLzfkNaS5hysPdC3TKOHu5vaBhmS0CNi+CEvvAbkbdYBfaiUs0nvAw1qDWxfP4EnwBRy7GQNlBs93wyURERHRN4zBkOhriH+C/VPaomieSugwaDgmbrzxgdAWieML/TFs2LAk3QjMOfAcIvYQ/Gv5Ydi664iNPIel/evAb9w5eXlRODipK3oNn4ULIh1bykyG0iYjsmayh22azPBxlA+B2hAEh+kitwL2Dg54b6aLv4Q5Kw4i1LE8vm+e21AS6VwZfVvlRczfg5CtYgfMeeqN79rXR1YGQyIiIjIiCiGR/6YvRPFLG/kvMgdi4Ar5rzfiDn2PvJWn45Y+vang3mUbbs+rDmv92CQ0d/Bz+ZwYfKogBqz5AZVfP4NPCZccZVDo2RgUKDsdbtPvY1eXYPxUoiDGWvyAi0eHIduj2ahVoDcO5xyH04f9kfs/JkOhViP+2i25j95Pi8ind3D9uQapvbLC29H4IrnCNhWssmSW+4iIzFNkSCwWDTwq95GpKVTdE2WbZpP7KCmWGBJ9Bdal+2L0UH+MbOaTcimeJgjPgwWUjr4oXbsaypcsgXJVa6Jmzeoo4W0HERmOSFjB2dURSqUrXJ0V0rAIhGuicWTadOyLzIjGg7r+51BIn0IJ+wzZUCRvDqMMhUREREQsMfwKWGJoXnQlhs9jwvEo6iUKpUlcAhOPE4Pzo+zPt5DhQyWGsZvR3qshloU5I51tJIJCE6CwyYCCfkMxa1YfFHk2GeXyDsfLbn/jyNBg9CvWHBvyzMbNOUCngt2xL+sPOHWwLZ7N/w1rTj6BOnU+NOjVF3457OQX+HgJMfEIvfpQ7iOTZmmJtPm85B4iIvPEEkPTxhLDD2Mw/AoYDM3Li16zse3heWiEFo28i8HRKpU85iODYfwxjKvaFBOvpkHl+hXgrXqAg39uwYWXCmTtsweXpmTDtq6V0WbRDcRIkyscC6Df2q2o/3clVJ4WhsZrzmHw9booNfYx8jeqjFQn1uOIRSfsuDATlT8xG0aHx2NBv8NyH5myTFmd0MS/iNxHRGSeGAxNG4Phh/FWUqLPyM3BBdvlUFjNPW+iUPgJrEphxMHbeHrvDDYtnIZp8zZiz9R6cIIa9w/tww1tJvgtOI97V4/jwMGTuHH3FCbn2YHJS25BWaALBtWLwu6/L0CdvzsWrFyJ34dVhOrBbmw/r2t1k4iIiIjoXSwx/AoWXt8v/0XmQKlQoKpbXnjYp5aHvPL+EkP1s/PYeyYa2SuWQmZbLV6e3oFLGWqgvIehacuXK/yQ5buNiCoyDheOD0fOt1q8jMPxwYVQ/tcXaLDiEn5vGogfixXFROdfcHdPH7isb45MrY6g6ZY7mF8j2TLK92KJoflgiSEREUsMTR1LDD+MJYZEn1kVtzxJQmE01rf3RqZMmVF37h1ooMXTVa3gnSkTvPwWIEAdiMXtyqJm3Qrwm3QBUfsHo1yFeqhVqQ76/DQN03/qgUb+WxEGK+SqXg3ZkjwGQRuwBpMXXQfydMagxumgtHCHj2cqaG6ewKEnQThx9CKilJ7I4s1GUYiIiIgoeQyGRJ+Zp30a+a83YkICERgYiBcRCRDSf+qoYH3/05dRUCtt4enrBUfbjPDN4gK70j3wY7eKyBC0BzNH9MP3I+bg4HMXFGo3Gyv8iyZp1TQOp2dOwbZQF9QZ0BOF9Q/WS40G/fuiWMwfaOWZHlVmPkL29oPQNmmiJCIiIiKS8VbSr4C3kpqXTjkqyn/9R3HPcffmA7yItUH6bDng5fxpJX7ayEe4ei0QmjTZkNvb5V897J63kpoP3kpKRMRbSU0dbyX9MJYYEn2rrNPCJ28RFCua55NDoY7S3gN5ihZD/n8ZComIiIjIfLDE8Cs4nLYgtDGxch+ZspJ3DsEqfVq5z/ixxNB8sMSQiIglhqaOJYYfxhJDIiIiIiIiM8dgSESmxyoVPCt4o3y73KjRKScqNHRH5gwpNL5j54gcNbxQpHJqOCnkYXpKOOXzRFlpWdW+y4r8Oa2ReLR9TjcUrukB7/RvzURERERkVBgMici0KFIhX8+iaNDGB/nLpEe2YhmRr0521BueH4Xc3hfeFEhfLQeqNPZBrnRaRCW6wV7lmwX1e2aBb0YlrDwzolzffCjmKS/HygVF2vqiVCV7IJx35RMREZHxYjCklLnkR/rvO8OjW3nYvHePUcKmWit4DOjybtf/O6TWPyrBCjY12iPL7MnIMXMgMlXIaJhVTwnrCk2ladsgdVY+VoH+PUXqtPDNYQnx8hl2Dz+AGT2OYefxGAhbJ/gWsn2rtO8VRepMKCGFO2VUMM7sCIFaHq4LjGnzpYaTCMXpWZewbdEjPFfYI3PeVPrlOJT2Qo40As/2P8T9GMMcRERERMaIwZBSYAmHPj/Cd2wfZMgSg3itPPgdFrCt3wXeP/aDzztdD6TLbQlF6f7Iu6Yf0vpaQ5W/IbKunwGvfHIItC0Kj99GwrtrDuC5xjCM6F8QWgGtEBDR0Qh+Ie2w6jgEB+meHymNS7ZQTwXP2l7wTCXwfP893HTMgJKNsqBkaQdpjPQNsJH+r05AbKw0f5QacfphFlBYOaNgFRdYhgXhn4NR+uUTERERGSsGQ/owz4bw6pwNipcH8XDKabw3F0KN6C2LcH/sb7gnd/eXn0eC7iT97l48P6mFfY0ySKU9jYctv8eVLisRqfKFazVPaV4lrFt1QvrMakTMX4LgMMMSif6VkGe4cCwa2kxeqDeqIOoPKIoGtRygffoM546/G+AUbh4oXsIGCH2GU7sjALd0KFQrMwoVtpeCoUDEi1gIK3tk9LGAbVZHuCilYc9jYVfCC7nSAc8PPMQDG1cUaJoTNbrmQoXaaeFiJS+ciIiIyEgwGNIH2MNlYGe4OqkRuWAOnqeth8xj+iNzq9zJ3I6nRezO5Xg4aY6hm3ceFkVzwSL+Gh53GYsXgQIqB1sgPgIJEdKp+cswqIVCGmYPRarCcO9RAqqnu/Bo8W15eUT/ksoCltDo9y/bTM5wz2YPOwtAEy9gYZ3kkKewgm9dd2Sw0iDg7/u4GyUPTyT0xENcC7JB/oHl0Kl7Blg9eoxzF21RoJorrCKC8M8hoFD3fChbwg4KjTW86+ZBvSZ8diQREREZFwZDer9cLZG5uRsQuB0PZ12R+qvCo39neDTwTWHHsYWT/whkyqFE7MopeHhSV/lKg7j7TyFSZYNjUWdYlcwHW1W8fphV807IkEWLyEWL8dK+FNzG/4ScSyci68CqSCVlSaJPkapYVlQo5wCrgMfYNOgAZnU/gj93REDlkRHlm2WEfeKrGg5pkauAFRRQwa1JCfRaUAndO6TR30KqypcTnQd5SMnwOfb+cBQrfjqL9eOOY8m42wjO44Vc6YHnBx/grrUrvDwUeL7/GnYuvIzT1wUcc6VBWlaVJSIiIiPCYEjJU6RBuqFt4JAqGmEz5uFFiDz8Y3jUg2cbbygSruDpnONSJNTRIub3JXh2JyPcth1DiRV1obq8Fo93eMKtd0monv+NR0uU8Fg1C1ma+QDqDEjt/yvyji3BnZQ+gQK2qa1hIYW/uEcheBIqABGPp9fCESsUsHC1gZ1SmsbDFZmz2MBCKZAQmYBoqYuJSkCsrouVbzZVaxAbI988rU5AyL1QBNyPQZzSEQWru8I68jnO7ouE1lqlLx2Mj1ZD6C6AxEjzS8OskmvlhuibpMXLq5fwMN7Qpwncj6l92qB1l9FYeyWZYnQiIjJJPOem5KWtggy1U+tOs+E0bivKhV1GmXmV9LeQKmqMRantbQ3TvUMJm4a14eyggLi0Hy9uJaqV+HQ3bpasgtMV2+JC+Zo4We5nRFXriAxZBSIXL8YLu1JwyatC5IJRuNapPx4e0sKmUjnYW8rzE6VIIPxBBGK0CqQqlAXVm3ihYI0sqNYsA+ylEBj7KAKh9hlRdWgB1BucD0XsA7F14GEs+P5Nt2R1sP5ihubqTayY+cSw2ETsinshdwbgxaEHuBUhvWJIDCISFHDJ4gx7BydkcldCBMcgjG0okZHQ3JmLluVrY9T2l1JGfILl3Zth4rFo4N4adG00Eodi5QmJiMikMRhS8pQaaIJDEP8iBAkvwwxdZIJhXHw0EiLiAFVq2FUuD0dPG8NwHYUznMvngkKhQfy5i9IJujz8lfiXiDlzBmFnH0Ktyg/33mVg8WIfHs+/DmFnK+2QAuowXesz0dK/8dJZuB1ULHmhT5Bw6S52b32BMGGLLDWyolyTzMiWSYGIaw+w548gxMXHIjRYI+1f0QiNTtoUTQosHJG/WhpYR7/A2X0RhsaYop7j7J5wWBTJjY7TCiK/azSu7gyErrCS6NunxaNNa3G66AiMr+cK7bNtWHcoOwb+vg4rN01Hk7i92HnpzQNciIjIdDEYUvKe/oErvqVx3PtNd3LAYX2LjmLfBJxutg5WbSeg4F9zkH9NJ9i9qk9l4Q27rLo6W1rE3X+inz55Clg16YgM2aXz6qWL8Py5NGXAY8TFqGBbtCis0+aHY55UEI8eIZbnJPQpRDwebrqAZf2PYPkPp7F23EksH3AIS365g3u6W6JjXuLgqIOYPfgyrr80zJKY+vhFzOq4F7N+C4R8Z90b6nAcG70fv/W9hOuvW8/VIOCvM1g85CR+H3cKSwedwr5z78xJ9I3SIjQ0Ei6ZsyC1dEYQfewQzmcsibKe0kHdKi3SOUUjLILF30RE5oDBkP4lAc2j+4gNj0H8rUdQvyoZVLrC0kW3W0njwyMMw5JjlRduvcvDIuQAHs+7YgiQL/fg8eyLUPr9jBL3lsDN/R6eTtv0bqmj0YnEzR2zMapXB7Rq2QadB4zHihNPEz1E/W2am1swfeIETJjwdjd5+Qm81K2L2DvY+kt/dGwtLWvwDOx9mGhJmkfYO28SJk7fgpvmHqjj4xH6KBxP70UiNPzL70QJIVF4Jr1W+KeWQhL9X1nAK4c3wg/+jj8Pb8evs3bBtkINFLDSHU6O48TDjPDOzDZ2iYjMgUJI5L/pCzmctiC0Mayk8XEUULplhV0GJRLu3EZsqHFdqS555xCs0qeV+yTa59gxqAZaTDuLsETZRGGVBR3WHcf8+mnfuToTtqw+MrbfDF0bJolZlpiAS0e+x7OB+VFlVhSK1iuKuENbccVzOI6d+AEFpXO3qH29kL/6XMS12YBLi+vBWZ7334oOj8eCfoflPjJlmbI6oYl/EbmPzErsBcxo0QQjtt2HRZ6OmLdpFhpneoi5dYpgrN0UHF/XFp68jExmIjIkFosGHpX7yNQUqu6Jsk2zyX2UFIPhV6B7rp9I4P2Q5sCtb3tYONjLfVIufLYeHUu0xjq7Vpi5aDRqezzHn73qo/fGAKSqvxSP/mqbJLxpcOfn8sg5+BQKDliDHyq/eV6H0iUHyhR6hjEFymK623Tc39UFwT+VQMGxFvjh4lEMy/YIs2sVQO/DOTHu9GH45/7vV/kZDM0HgyFpNRpApZIvVmkReuUcgjIXhq+dfgCRWWAwNG0Mhh/GYPgVxF2+DnA1mwWrHNmgsHw7kGmensSJkPwonVPXSI8GtyeXQ64hx6GqOR+Pt3dCasNksngcH5wf5X59jubrH2Np9ViEC3u46J7QrhO3B92z1cSq4ivw9I+mCJtVDZm/f4r+R89iZMxgFKwyE1Et1uHicj+4Gub4TxgMzQeDofmK/GcN5p5KgyZdqsKLz98kM8dgaNoYDD+MN4cQfWGqDMXlUKi7s3Q3pi49A7XCDiWrV0zmVk8tnj9/Ca2IxPbumWBr74rUjo7IVKQ1fjsZBlh4wttDiZjLx3Ey+BmOnrwBjbUHvN0DsHLSMtxWFUTXgTUQsXsaBnRogeZte2H8huvgk8iI6H3EzQ0YP2YNLsoNTxMRkXliMCT6jBIePkb83Qf6Thv5dhzTPt+HUQ1aYu41NRxLDsGkzlnw7sV5JdJkyYGMtg7wKO6H7n06o34+WwSdXY0BbUbjoDorWg9oi6wPZ6ByWjc0XRWBfN2+R507MzBlTzjS+Q1CZ+0vaFx/EFZfE7B4vBVjmtfBkL2MhkSUPIc6vdHd/SBmzTqHDzQZRkREJo7BkOgzErFxUhdr6HT1dWSagK3oV6MhJhwLg12Bnli5fhiKvqk+mIgVSo04iNtP7+HMpoWYNm0eNu6ZinpOgPr+Iey7oUUmvwU4f+8qjh84iJM37uLU5DzYMXkJbikLoMugeoja/TcuqPOj+4KVWPn7MFRUPcDu7efl5RMRvU396AlELk9cH1kCmX2LoVKNWqhVS+4ajMG+OHlCIiIyaQyGRJ+RlW8WWOfKru9UTo76YfF316JLlWaYcTYSjsUH4c+d01AnY6KvnvoZzu/ahmP3o/W92pensfefELx+rv/rPyxgZWnosU6XA8XLlUXRrK7QnJyOKbvCkKbeAPTMb4HISGk5Ckc46x4bYu8MJ2sgKoLlAET0HnERCBPuKNuoKWoVzw63tKmROrXcuTrA+vUxiIiITBkbn/kK2PiM+Xin8Zn4gxiQtzqm3oyDUDojZ/kyyGovn2VZ+KLN9Ikos6MufLvtQlyBkTi9vwJWlK6DqfcyoVrHdqieBbj51xwsPBgARb7hOHJmLIombttGG4CljfKi4zZ3+B89jXFFrRC8rAF8Op5B7RXHMS39L6hQfS6cx13EsSHZ5Zk+njYqFnFr9st9ZMoU6Z1hU7ek3EdEZJ7Y+IxpY+MzH8Zg+BUwGJqPd4Jh9Bo0Tt8Kf0Yms/0ti2HchWPo9aA/SjdfhIgas3F4dXOoN/qjy+CFOHgvHGrdbAorpCvUCuOXzETHvG/ffxp3chiKlp2EgDpLcGl9W+gLIsMOYVTNhphw4iXUUMI+V2cs3z0bDROXUn4kERMH7ardch+ZtPQuUNUtLfeQ+YnGk/Mnce5eMGKlA8/rI5bKDcXql2JrpWQ2GAxNG4PhhzEYfgUxV29L/+dqNgdWWbygsraS+/6LODy/exMPXsTCJn025PByxtsPwUiBNhKPrl5DoCYNsuX2hssnzfwGg6EZYTA0X7HnMb1RXQze8RjxiX6qFFbOyOTdHLPOz0F9Q8PKRCaPwdC0MRh+GIPhVzCr+36o47VyH5myTlPKwE5Xqc9EMBiaEQZDsxW6pimyDorG0FXTUW5/SzR97I/D/a2w5seJOFZiOlb3K4hk28oiMkEMhqaNwfDD2PgM0WcUFhQj/0VEZAzUuH/9Duxq9kTv8plhb6EAFNZIl6sWBs/rC4eZ/lj6iBc2iYjMAYMh0Wd0ZscD+S8iImOggI21FbQaDYT0t52dDWIiIqW4KLH3hIf9HVy9zSffExGZA95K+hU8XHEMQsMrrqbu+JUEPHupResxxZHazV4eatyM91ZSDZ7dPYwlZy7hengCLO3So0iecmiZ1wMO8hSvaZ9gy75juBIv97+iTI0KZSughJ0ady5sxexzd/FckRrFitVGt5zp5DqfGjy69jfW3E9AzoK1UTeDEbfQwVtJzVbc/t7I0zYQIw+vRfNHA5G3yQU0nzcWlUKXoGefG/junwMYlJWtz5B54K2kpo23kn4Yg+FXoFmyXfofg6GpC4pUYN0lG2Qrkg61uueVhxo34wyGCbi07yfUWvsPAqWvnVIlndBqNNDCBvmrj8KBxnnfDofRe9Fw4DRsSVooosqOn36YhL7hi1FwyjZEZS6OourL2PokLYb5/4rRntJy4y6g94+jME9dCet/6It6xlwRi8HQfGkDsGX0RNyv9xN6Fw7Hxr710XneWbxEWpQauAqbxlVBat5fRGaCwdC0MRh+GA/1RJ9JOnuBzLldcOufIAQHRMpD31AHHMLSXyZh1s770MjDkqdF8Ll1mDyoC9q2bosuAydizennb+aJvYOtv/RHx9Zt0HnwDOx9qL/py0DzCHvnTcLE6VtwM9Fgc6J9uQf+f0mhUJEJrTvMxPPZGxA8ZgA65siLRvm8YCdP94omMhTBUoC0yNwAa/uMxpZXXa9OaOqixfmLZ3FXkQf+3Ydgbfu6yC/uY9elAGl7aHD/2J9Y9cICRSs0QC22zkHGSpkJdcf+ht5FHaS/3dBwxhkEhb/Ei5dPcGQ8QyERkbng4Z7oMype00P/ZJJTW+7LQyTxT7B/SlsUzVMJHQYNx8SNNwz1d5KlxaN17VGiZHMM+XUh1qxbg0VT/NGqdDG0XqULlLE45F8LfsPW4XpsJM4t7Y86fuNwTl5g1MFJ6NprOGZdEEj3Lx9RYeyCr5zEwRjAJltd/FTcC05KJRwyVsC8AaMwzNfxnYOeJiIcwUIBx/S5UDt3HpT0yYOqeYugZp4c8LYGImNjAZUdXG2UUNrZw1nawJGxMdDEXcX0vRcQ6VQaA8p7fdrjRIi+cUobZ7jac68mIjInDIZEn1F6Lwd45UmNR9deIi7GkNbiTvyMrkNW4HyIrnGHFMQewKShq3BbnQkN515GSGwori1rAS/tffzhPx67Q85j2667UJYfhj/X/YFlvfNDc3EndtzWSAnnPpZNWol7lkXRY0AtKcCYowTcC3qOeOnQljGtCttXDYVv38Zw6NsRpRduxJHId2/p1kaE4aWQwt6l2XDv0QRpvm8K54Hfo83eGwiTluOZJg2UCQ9x/F44nt2+iRtaS3ikTY2Ak39ieZASBcs3RI3Yc5i+bjpazpuC3tuO4XqcvHAioxGNRyc2YP6U8Ri/4BCeaWNx7fAxPDHTOw+IiMwRgyHRZ1b5uxxoN7EUrFMZrrZbl+6L0UP9MbKZT4qlSvEXdmHfIw0sfJqgX7tcsFfawbdFf7TMaQlN4AHsOhuC8EjAytkVjkolXF2doRCRiAjXIPrINEzfF4mMjQeha27zvdIfp9ZVFhQIPrsCw29IwS1XfuRQBePkyaVotf60FPbeprTPgBxO1nBw9UXDCnXRqUBm2IbfwZp1v+KHG1pkLdEQbdI9x8xfW8Fj3gFEuNdEn3xPMfPv8wh3KIWBZQV+nTMOg08+glC9wLatk1Hvz/OIkpdP9M1T38TSVgWRs1w7jP71F/w0ew8CYy7hj4H1UL7rXwhiFXkiIrPAYEj0mTm42sDKJlEwU3mj1dgfUMvTSh7wfuqHDxCgkb6YmX3h+2oRFlmRxUv6qmqe4EFAJnh7KBFz+ThOBj/D0ZM3oLH2gLd7AFZOWobbqoLoOrAGInZPw4AOLdC8bS+M33DdjEKKEi62tlDobve0LIYFw8ZjbdeR2N+hCjwVWgTeOI9zSRqZscraHPvHr8CdESOxoHkXzO05DlMK2AHaIBy+/hhK51KYP2ohLvtPwP5hc3F7eHvkufQnlgYpUKCcH+rGncPuxxrkr9AbKzoNhn92JR5c/QfnWdJCRiJ042gMPVYAMy8G4v6KFsikOzOwLooR68ch25bfsIbPMSQiMgsMhkTfkvh46HKLwsoa1q+/nVawslJCITRIUHui9YC2yPpwBiqndUPTVRHI1+171LkzA1P2hCOd3yB01v6CxvUHYfU1AYvHWzGmeR0M2Wsu0VAFH09vpNE/o9sRaeUsbmVrB1vdMIVC6jR49vAstt1+hmjdSG0ETl+7jRBpvMHrP2BhIadzS2fk8MmDst6Z4Kq9gd92n0WYfXH0r+gNi7hYaTkKONraSwdUGzinsgTiohHB9p7JKKhx//It2NXojBY53m6aSZmxKAq7Pcatu3yOIRGROWAwJPqGKJ2c4SDlEm3YS7x81QypNhShYRoIpR2cnVMhk98CnL93FccPHMTJG3dxanIe7Ji8BLeUBdBlUD1E7f4bF9T50X3BSqz8fRgqqh5g9/bz8sJMn22u6mjnZglN0C70WLQcv+5aiU6rduGGVon02fIjX+RudJg8GvV/GY/Jj6Kwf/1QVJr5I6r8Ng/jd2/G+JXjMeyiFKRVHqiWK5O81Fe0CDi1AYufAnnK+qGRoxIWLhngaanFzbuX8ST8Bo4+joXSNSO8+dg3MgpKuDjbI+JZAMLlIa/FPsbjF/ZwdeHOTERkDow8GMbj9vohqFfEG+mc7GHvkhHZy7TCpP3PpNM3IiOhfobzu7bh2P1oWOXJh5xWCmguH8XhF/JeHHYERy+robDMhfz5LPWDrNPlQPFyZVE0qys0J6djyq4wpKk3AD3zWyAyMhpQOMLZRfp62zvDyRqIiojQz2cWLHNgZNe+6O5jg5tn/sCQ9Wux+pEaHrmaYlGjonCxSotsqW1h6+SGLLapULpiS3TN7oyga1sxat0CjDp4Gc9ts+C7VgMwNGm6S7iFWbtPI9S2KPpXzAp9gaR9CXxf2RcxZ36B94ARmBXijnbVKyEbL7uRUVDCvVZ95DkwAq39l2D39ZeIjw3C1b2rMbbtIPyVuhbq5DLfOstERObEqB9wrw1YIIXCWUg/ahK6lfOGo+YFru2cgsGznTH18kLUTvrAsv8TPuDefChbVoHC1kbu04nG+va50WdXHBIiXyA4Qg2VnSvSOlrBssSPOL6+IxQLa8O32y7EFRiJ0yc64p8mhdB5SxjSl+uC3vXdEbhlFuYeCIRjnfn456+O0FU3fE0bgKWN8qLjNnf4Hz2NcUWtELysAXw6nkHtFccxLf0vqFB9LpzHXcSxIdnlmT6ecT7g/hUNwoIf41Z4PFI5uyGni+0Hr4TFRTzFzeBwxFo6I1uGdHD+pEISLSJfPsK1MC3SpPOEt50RlrDwAfdmTIOHW0ej56DZ2HUjBAnSWYFCZQ/PUq0xZs5UtM2d+JhGZNr4gHvTxgfcf5hRX9NW37mCe7k64Icu1VE0ly+y5y2FBv2GoonrDVx6/OFHiBN9LTEhgQgMDMSLiAQI6T91VLC+/+nLKKilr6Ctpy+8HG2R0TcLXCw80W7uSgyv6o7ww3MwrP8wzDwYAreqw7FqXvu3Q6Ek7vRMTNkWCpc6A9CzsKFCXeoG/dG3WAz+aOWJ9FVm4lH29hjU1hwPgio4pfZCEe9syJ1CKNSxdsiAvJl9UdTtU0OhjhL2rl4o6u1tnKGQzJrmwRncyzoQm649R0jgPdy4cQePXwTj/qE5DIVERGbEqEsMNXd+ReWK+1D/z+XoXTQ1LBCHwP0/wq/NDfS89Cdau8gT/p+xxNB8vFti+G9pERlwHTcexyCVW3bkcNM1bPIJtJF4dPUaAjVpkC23txQ45eGfyLhLDOmTsMTQbMVu6wifhn/CrmxjtOvUBR0bFUOGlBtRJjJJLDE0bSwx/DAjKjGMx6mpXfD9rH14EGsYovJuj9Ed4jGtQgbYO7jAxd4RXg3+hNvQEfD7RkIh0b+jhH2mXChcrDByfWoo1FHawyNPURTL/+9DIRGZB5vas3DywCx85/MIK3uVgY9PcTQbOh9770bKUxARkTkwomBoIZ3oeiFgQTPkzVYWnSZvwY0oV1T8YTfuBT3GleMHcODkdQQG3cD6XgVhK89FREREH2IDj1KtMGLBLlx7dAu7JtSGwz9T0CS3F3LX6olfNl5EMGtnEBGZPCMKhkpkrDoc687ewvHpNRD/Z1cUyVYELX9Yi0txaZAlT37kz+2N1Nby5ERERPRpbL1QtlVfDB7SD+1K2+L2zgUY1qwQMmevieFbH4L5kIjIdBlxHcMo3N4xD5MnTcfvFx1QufMADOnXCiW+wYoRrGNoPj5fHcNvg4gPAi4XlvvIpNkVgiL7JrmHzI8WEXcOYN3SpVixehOOBbmipF9bdOjcEY3zRGP/zIHoOV2JURf+QsdMRnRNmegTsY6haWMdww8z6sZnDGLx8MBi/DJhKpadAEq0/R5DBnZEJa9v5+ScwdB8mFowRIIuGKaXe8ik2ZUBfA/LPWRO1NeWo3fPsVhz+AEsc1ZH8/ad0PW7OsjjmqiFXc1VjCtVHfdG3sKiOmyplEwXg6FpYzD8MOO67KcJxMGZ/dCyZgWUKlEKFWq1wsB5Z2FTrgd+23UNN3YNQ4FHs9G44HdYFy3PQ59Ag4Cbe/Drjq3Y+SLpDUMaPLu7HxPX/Ya2C35Bx9UrMftyAKLkscnSRuDEsT8xaccWbAtKsryEQGzdtRCdFv6KLuu3YG/iCiza59h7cD0m7TmJm7xviYjoi9IE3MZTt+aYsucmHlzcghn96r8dCvUUcPXKB680LC0kIjJVRlRiqMGd36qj1CxbtO/REPnSWyM28Dz+mrsS6n7HsKVbZhh+xjR4efkqInLmhdc38jgxYygxjA+5iFkbFuKnk/cQitTo1GcB5uaxlMdqcPfYL6iy/AgeahRQKRXSx5E+j8IO5fwmYGcNbyR3A2/c3eUoMfkPXE1TBztHdkXF1/U/43FobW9U2x+Lovl9EXfzFK6kboYj/i1RUNpmUdfmouC0HYgrMQwX2heHszyXMWCJIRktlhgSEbHE0MSxxPDDjOjSXxxOH7mBimNXY2Lf9mjZvCU69JuM1WPL49qhM9LYV1RwzfPthELjkIATu2Zi6AkpFCZ3mUAbg4CwOFg6FcSEoSsQPWcVTjfKDydE4ejRAzirlqdLTPsMy7Zsx2WtA2rXbIzyiRsFUt/F9stPofRtij+6DsWSyt7QPP4HO3WlitJ8y3fuxz1VNnSvVsSoQiERERERkbEyqlZJHR0t8PD6Hby5SzQat6/eh4Wjg1xaSP+OJUpXbokhNZuhSXK3CSntUabmKFwYMwKDsjhBJfXn8vaAqzxaIf+bWNjVPzD5ShQs3WthWJFQrNq4FP4b9+BMgjRSxCJcSvJWtg5wVCrgamsPhTQsIlaL6Fub8Nv1WGQs7IcubtyqRERERERfgxEFQxtU6tIFljPLIEvuEihfsQJK5smKcnNs0KlTefApFf+NKm0FjKlXBJ4feBi6jbUK108uR49lk1Fz6W7cUzihcsXKKJx0Hs0DzN5yAPel6Ni0Tn0UwQNs/PtP/Pz3MVzWBUNVWni7KhHz5DpORobi6L3H0FikgbfLS6zauQ+3lT7oUr0QIq5uwsAlk9Fi0VxMOPvow/UZiYiIiIjoXzOqWuQ2xfyx78YZrBvfB+3btEPvn9bizPU9GFKELaR9HVo8uXUAC48cxqEXcVBYp4aXQ9LahVo8PbMGM+7FwS5bA/gXcJCHJ6LMiFbVKiHryy2o2u87ND8Zg3zl66N20FZMvRaNdIX80Em7EU1nLsaap4BFyCmMnT8GQ6/FygsgIqIvS4ugA9PRt1NX9B+/Gv8Es2VtIiJTZ1TBUEflkh1l67dEuw7t0LJ+Wfi68HbDr8cSlVsuQOTsNbjevRqyxd/FwpVL8EfiojxtGP46ehJBAoi6tRR5u9WHVe/p2Kyrh6g+jS4D/DE9GMhUqDfOTpiNo4Mm4vi4hTjR2As7d+3GLYUPOlcvjqir53BB641ubQdgRZemqKgIwp5Ldw2vQUREX1gCzq35BbM3PIKj6wn4d56JG2wlmojIpBldMKT/D03YFaw8ew+xShWsLO2RNUdu5LIARFwoAqM1UIffxa6L13A/TgsLa0eksZc6O3u46jsbudVSC9jb2cJGrpRo7eiB4r65UTSdAzT3NmPqlWikyd8APdxViIzTNSdkC2dbaWJrOzhaSkEzNsYwIxERfWHWqD71DG5f/QM/dJuGDcs6IhuvwxIRmTQGQwLijqLD0LZwHzoW855rpbQXgtULO8J9YAc0PhQMrfoOfpoxEu3m/4g6K9dg2t71GLjwd+yQsptF+lwo7RSGJYuHoPYMfzT+Oxydei7D06mr3nQTu6KGrh6iRUFMGTMSXV2T7HbaYPy+829chxc6VS+NdFL4dE+bFqm0T3DiZjCC7l7DpTglPNPysQlERF+NbXp4ZbCT/lDC3sGOJwxERCaOx3mSxCE0LARPw8IRqb9VSIvoKF1/CF7GSQMsvNGreVs0Th+LwwdXY+DvyzDtUhDs3MtjSvsmKG5lDY/06eBo5YpsaXUnEZ8m7v5WTL0UBZd8DdHDy/DsxNQFGqCPdzzWL+yATFO24lGGKhhQMpN+HBERfW5aRD29jUvn/8E/Z87gzKvu3B28ZPVCIiKzYEQPuP8YusryM/DTyqtQ+ZRHq67NUTj1/z/7GsMD7j9OAoKfP8ad8ATYOGZEjrQOyT7Y/rPRxuBR4CMEah2RLVMGGEN1Uj7gnowWH3BvvqLPYWab5hj21y1EaJOcEljXx/KXf6GNrdxPZOL4gHvTxgfcf5iJlRiysvyXZYnUab1RLIsv8n3pUKijTAUPN18U8zCOUEhEZHy0CFr3A0buc8Z3C3fjzOVruH79+pvu4mw0YMPfRERmwcRKDCXRz/Ag3B5eGVIhMiIGtt9AvQjTKTGklLDEkIwWSwzNlBrnRhZFvYCxuLWoDpgBydyxxNC0scTww0wvGH6DGAzNB4MhGS0GQzOlxdN5tVH8SGdcXeGHT68lboLUATi0cjWOR+VBs241kPk9d6xobm7BzA2XEZ3kLErlVhGdWpeAq7iJLTM34PK7E6Bip9YokbQhNvomMBiaNgbDDzPyYKirLH8Xd5+GIV4t8PqDqFzgkz8LvpVjLoOh+WAw/D9SA4ekr9rxGKBZY7x9MhcN7NgKbLsKvJSmy+gNNKkPlEgjj3+PgH+A1ReBPNWBGonaPop9BMxcB5wPATLlBno1ATx1Le9KNE+BhTukaXyAnuV1D2kxEgyGZkv7fDO61fgFqSevw7jKGWC+d+7H48n+mfDvPw6rL0hfbrcu2HZ7Hqpby6OTCFtWHxnbb0ZMkrMoyxITcOnIUGSPXIb6Gdtj87sTYMKlIxianXUkvkUMhqaNwfDDjPdyla6yfKOcyOjmi3wFi6BI0aIo+qorOQDbYuXpiMjkPTkNtG0NVPoBGL4Eb9Ut1krndwM6AXUmArM2A2uk8DhlFlC+A7BJGpeceCkPTxkpBcKuwCBp2o335RE6cYB/b2DY31L4kwLn0imA30J9LtU7uFQKitI8F6RzQaMJhWTWtEHhsPcIwdwavvAuVB7VatVCrVddgzHYp3usrDmIO4Gfuw7BivMh0KR4yVyDF0HBUAtLFBuwHtu3b3/dbZnaDO5S5tO8CEKwWsCy2ACsTzR++5apaKabgIjoG2OkwZCV5YlIFg/8PA5YcVN3qvau5/8AG+4AOesDJ7ZJIXIl0DCtNNtjYMl7LgqfWAYMkaYNSaagP/4GsOuJFCw7AusmA719gYvHgNvSi2sCgElS8LTMLYXRMvIMRN+6+GjEORZAneb1UT63J9KnTo3UrzpXB1gr5OlMnXVp9B09FP4jm8Enxas6GgQ9D4ZQOsK3dG1UK18SJcpVRc2aNVG9hLf+llxN0HMECyUcfUujdrXyKFmiHKpK42tWLwFv3rNLRN8gow2GT+48hL3fSPzcvjIK586B7Nmzv+l8M8GBt+4TmQcroG9XwL8T4JPMRfj0VYDjC4E/hgLFMwKZsgMlpH914hMM/yZVuiUwtD3QzE0ekIiIASKlf50dpQOodJyRzpshooFwKUQeWQXsk/5u3BbIzeJCMhIWBbtg1vIVWLEimW5xP5T+4k1QfytU8G41Fj/U8vyIVre1eP78JbQiEtu7Z4KtvStSOzoiU5HW+O1kmGGK58/xUisQub07MtnawzW1IxwzFUHr307CMAUR0bfFSOOTEhndM0AZH59sCQERmRfvWsAPZfQZMVkZ8gI55XpCz08AS68CilRA9SKGYUmppEA4thvgaSkPSMQiA+ChAC5fBIKDgZP3AWtpmPtzYNIWad4cwMBSwG4pJHbwB9pOBDbck2cm+iZpEfrPEvT3K4WcXhmQJk0GeOUqg0aDluM8E8x7KJEmSw5ktHWAR3E/dO/TGfXz2SLo7GoMaDMaB+OkKdJkQY6MtnDwKA6/7n3QuX4+2AadxeoBbTBaNwER0TfGaINhOr/uqH51GsbtfcpwSEQf5fkpoMEw4Jp00CjZDujsIY/4BCppngF1gIe/A2mrA6uigW4tgTtS/54owK+tdJq9Aqg/TXodATw+DDTvC+yNkRdA9I3RBqxCpzq9sTEsD5r2HY0JE39Av+YFELe5D2q0XYz7/JFNhhVKjTiI20/v4cymhZg2bR427pmKek6A+v4h7LuhhlWpETh4+ynundmEhdOmYd7GPZhqmACH9t2Ql0NE9O0w2hsuWVmeiD5FwCGgxgDgWCRQoBmwviNgK4/7JNJR028UcO9P4MBC4MYWYHJWqdskjcoODCoP7D4unfv5AgvGAb93kMJkILCd54H0TdIiaPNK7M0yCjt3zceP/bujc6du+H7UTGzePQkFjy3GuntMhnrqZzi/axuO3Y/W92pfnsbef0Lwugrm6z8sYGUp9Whf4vTefxDy7gSwsErmdgQiov8zow2GrCxPRB/r7i6gylDgrHQ+V/w7YOdAIGOio98zKbRtu6B/qsVHS+cNlCsEZHUCTq4GdkmBs14bIL8KiIyVTgHtABfpNewdAN1drBFRhvmIvi1aBAa8QNoCRZE5Sb1YZaZiKOIRhIePXrW5a9qi17eHd6ZMyFx3Lu5IWVj7dBVaeWdCJi8/LAhQI3BxO5StWRcV/CbhQth+DC5XAfVqVUKdPj9h2vSf0KORP7aGAVa5qqNatljsH1wOFerVQqU6ffDTtOn4qUcj+BsmQPVqbC6fiL49RhsMWVmeiHSi9wDe1YDM38NwMhcMtKoDZKoFLAgC4v8Bao4CrklhTSmFNds7QOf+UoiTpvebAjyQpmnXAajbGZh0U1pgDNC+tjS/1M19LPVrgVXDpX7pNfw26HvfopXmn/yX9EdWYFAV6TWkk2ufDIDmAXBIGnfiPBClALIk05AN0f+fEq6uTgh98hDh8pDXou7hfpADUruayaMVYkIQGBiIwBcRSBCAUEchWNf/9CWi1ErYevrCy9EWGX2zwMWhNHr82A0VMwRhz8wR6Pf9CMw5+Bwuhdph9gp/FLWwQ+keP6JbxQwI2jMTI/p9jxFzDuK5SyG0m70C/kXZOhURfXuMt8SQleWJSEcKfIEvpC4U0DUyKqRwGKzrl7oo6W/1cyBAbn1UGwnsPwxsOWTotp6TgqU14JtRCoxppPDmYJguRJ4/Qi4oiZKOKbr+l8nUEzy9FtgWAdRpAxSW7w5r0BooFicFVCmcVpHGZ68PtPU0jCP6tijhXqse8hwcgRaD5mPLkX9w8eI5HNuxFKNaDcTmdLVRN6d5hBjbNn8hVgiIpF3cAXzvqYRTjem4HBqJB7+3hafSCj6NfsWeO0EIuH0Rp0+ewqV7z/DkzGJ0zGu4Sd3KpxF+3XMHQQG3cfH0SZy6dA/PnpzB4o55/91t7EREX5hCOuil+BjXb5E2YAWaFu6Of3K1RNvaBeHuqEBUwGXsWbUSZ3JMwYkNHZD5G7nIqVmyXfpfMg9EI5OjbFkFClsTeohmQhBwOb3cQ59CGw1cvSd99Z2B3G66WkffOLsyUkKWUjOZITXu/zUcXQfPw77bYVBLZwUKlT08S7fB2DlT0CYXHwxM5iMyJBaLBr7nIbdk9ApV90TZpryV+32MNBhq8XRuTeRcWRknDgxG9kRnXNqH81C78ApUPH4Qg7N+G8mQwdB8MBiS0WIwJCkgRjx9hMBwAfv07sjkxDoZZH4YDE0bg+GHGemtpKwsT0RE9HlZwCGDN3x9fRgKiYjMkNGWGD6YVgVFD36HKxu/Q1p5qF7YBrTJ/RN8tp3Ej/m/jZu3tIfnS/8zyjt26RMpijeDwsZZ7jMBLDE0HywxJCJiiaGJY4nhhxltHUPNzWmoWuJXKDuORN/6heHlqETkkwvYOWsMpge0xt4TY1DkW7nged4OEJ/SED4ZrTyBgGUGuccEMBiaDwZDM6LBzZn1UHVGJkw/sQC1rk9Ci5G7EJJcjQerMvDfNAZVdc9cITIDDIamjcHww4y2VVKVby8sXtwSqk2D4VeuCPLnL4QydXtjeUQNzFw57NsJhURERN8UBVKl8YC3dyY4W0onAnbp4OXtAx+fZDrv9LDnc4GJiMyC0ZYYvmEEleVZYmg+WGJIxoolhpQMTVQYYmycYG8mjzIkYomhaWOJ4YcZ8XMMX2FleSIion8rbmdP5K75G+5q5AGvxB+Hf4nS+PFUvDyAiIhMmQkEQyIiIvq3RHwUwiJi8E4Vw+jneBGhgZZPWyIiMgtGdCupEVeW562k5oO3kpKx4q2kZuflui6oMuYY4qICcOu5Dbwzu8JSHqf7zY0KvIcgj/74+9h4lLaVBxOZON5Katp4K+mHGVGJISvLExERfS42WSqgSbNmaFLeB7ZpC6Ju02ZoJvXruuYtvkPfnzfg1P5xDIVERGbCBBqfedc3V1meJYbmgyWGZKxYYmi24o+MQ9OV3pgxuxU8WMGEzBxLDE0bSww/zGh/AlhZnoiI6L+zKjMCf81lKPxcdNfb586dixs3bshDiIiMg9H+DLCyPBER0ecSjSfn92PrxvVY/8cf+ONVt+EYHiS9AEvvpQuF3bp1Q/fu3VG0aFFcvXpVHkNE9O0zultJjbKyPG8lNR+8lZSMFW8lNV+x5zG9UV0M3vEY8YnOCBRWzsjk3Ryzzs9BfRt5IL3Xq1C4aNEiaDQaqFQqODg44OjRo8iVK5c8FX3reCupaeOtpB9mdMEw+p/VmL79DuLubMK0g+nRqX0JOMkNzSiUlrDPmA9VG9ZAbpdvqDCUwdB8mFowDJWC4eCycg+ZNO/8gP86uYfMSeiapsg6KBpDV01Huf0t0fSxPw73t8KaHyfiWInpWN2vINj+zIclDYWvMBwaHwZD08Zg+GFG2/iMUVWWZzA0HyYXDJ8DzXPKPWTSchcHft0m95D5UOP86OKoHzAONxdUw51xpVHrwWjcWFAT1qF/ok3hBSh5YDt6sALie70vFL7CcGhcGAxNG4PhhxntkZ6V5YmIiP4rBWysraCVAo2Q/razs0FMRKQUFyX2nvCwv4OrtxP0U9K7UgqFOrrhERERKF26NOscEtE3zcgfV6GrLH8S5+4FI1YtpB81mcoNxeqXghcfV0FfG0sMyVixxNBsxe3vjTxtAzHy8Fo0fzQQeZtcQPN5Y1EpdAl69rmB7/45gEFZ/9sPqkatRWyU6QXM6TOmYvhIf7nvwxQKBSwsLPH4fqAUwKXzAhNiaa2ClY2F3GfcWGJo2lhi+GHGGwyNqbI8g6H5YDAkY8VgaL60AdgyeiLu1/sJvQuHY2Pf+ug87yxeIi1KDVyFTeOqIPV/vDvnxeNIrBp9Uu4zHVceHseCPSPlvg9TKlRwT50V/erO1IdEU1LKLwuK1s4s9xk3BkPTxmD4YUYbDI2qsjyDoflgMCRjxWBotiL/WYO5p9KgSZeqr++00caGIlRtD1f7z1MKZKrBUOfC/cNYun8shHj/c7JUSgt4psmO7jUmwcrC9Jp4NaVgqI5+jgcHx8t9ZGqcPQsjde7Wch8lZaTB0MgqyzMYmg8GQzJWDIZmK2JNE3j1d8Cye4tR9wtlFlMOhjofCoemHgp1TCkYIv4JcMVd7iGTk24g4Paz3ENJGWnTLawsT0RE9Dk41OmN7u4HMWvWOUTIw+jT5M9cFu0qjoRC8fZplTmEQiIyHUYaDFXwLlkENruXYt19gYxFCsL5wBxM3nQUB1fNw+b7GeDlYRqVoImIiL4k9aMnELk8cX1kCWT2LYZKNWqhVi25azAG++LkCemDkoZDhkIiMjZGGgwB6/L+mNIuE8KeR8Oq9EBMbBKOWU3KomLnLXDuORodfL6VJkmJiIi+YXERCBPuKNuoKWoVzw63tKmROrXcuTrA2rTaSfmiXoVDHXfXrAyFRGRUjPxxFW/73JXlPxvWMTQfrGNIxop1DOkLMvU6hkkFRzyFQyoXKRRay0NMG+sYktFgHcMPMtoSQx1t6A1cfaSvWaintLFC4NlTCHgziIiIiOirSu2QwWxCIRGZDuMNhhGHMKJKSdSfuB+R8iBEn8HyXrVRrutGPHt/q9FERERERESUiJEGQy2er/8Fc+M7YdnkqrCXh8K2HMZv/AGem37D6gcaeSARERG9T+zmdkivUugfuv5OZ9MAK1gTgojILBhtMHx89zFcSldDYTt5kEzlVRqlPB7jzj3eT0pERJQSq2K9seTPDdiwQe7+WIV547ujco68aPXbj1/s2YZERPRtMdJgqISrqyMingW8uY30lahHePjcEald2SopERFRSpQZCqNWg4Zo2FDuGrdEF//Z2PlXOwRMm43jLDEkIjILRhsM3WvWQ64DI9HKfzG2Hf0HFy+dx/GdyzC6zUBsSlsLtXPxOYZERET/lkWW8ihtcwh/n4uXhxARkSkz0mAIqHL0wZJFzSD+7I8GZYsgf76CKF2nF5aGVMOMlcNRzEqekD5JwD/AL0uAnQHygESuHQSGjQdajwC+nw8cTGaa16KALWuA7qOANj8CY/4CHiR+SLL099blQMfhQOdpwN5AebiORupfD0xcDdzkHcFERP8Xmif/4OwjFaz5e0pEZBZM4DmGGkQ+e4iAMAH7dO7I5PwN/oIZwXMM44OAmTOAcTuAEKm/y2/AvFKGcTqHpHF1lgIR0t6iUgJarbTzOACjpgOjC8gTvSKFwmFdgEnXpI+tMFx90EjzueSTwuIsoLS0Og79AlRZBxQtL2VEKYxeyQgcWwYUtJBmPwXk7ykNrw1c+gFwNizVOPA5hmSs+BxDs6W+uASDZxxFeKKzAW3MU1zcvwdX0/bDnpMTUOo/1jM0t+cYmhs+x5CMBp9j+EFGW2Koa4Am9J8l6O9XFkWLlUSpUqVQslQlNBq0HOfD5Enoo52QQtkQ6ZwwJLnHfIQCU6QQF2kJ9JUCYtQJKdhJwc8hEpjwK3A5Sale8F5glhQKrXyB7VLQjN0thceCQNhFoP8a6SQkAdh2XNr5CgF/TgKWtZCC4y1gxyNpZo3ULwXQe1JA7NHGyEIhEZER0kYH4/Gjh3j4UO4ePUJAmDXytZ2GnTvG/udQSERExsFog6E2YBU61emNjWF50LTvaEyY+AP6NS+AuM19UKPtYtzn0yo+SemWwND2QDM3eUAi6mfA/ThAlQFoWgywlkJbyVpAbhUQd0MKeUluKX30GIiR/vWUpq2UDrBwBVqXleaXhp07Ii1LCpLh0VJwdAAcpT3Q1VFXdA1ERAHR54Hpp4GMVYCuWfSLIyKiL8iqxECs2/k3/v5b7nbtws6tf2LxxG4ol4n19YmIzIWRBkMtgjavxN4so7Bz13z82L87Onfqhu9HzcTm3ZNQ8NhirLvHZPgpVFIgHNtNCnOW8oBElC5AamlP0UgBcec1ae1Lq/b4NuCybhVrgTu6kr5E0kpBUBcCH50DzkZI870EVhzUFwZCGwjclv71Ti+FxzvAyVDg6GVpnPS63lKIXLlEGi+9Vtc2UlA8AQz4AWg+Ehi/V3+HKhERERERfQFGGwwDA14gbYGiyJzkYqYyUzEU8QjCw0dsteRzUaYBulUFLOKAce0B21JAhfVALt0t+AKITzBM94qutK9JRiD2ClC6MmBXHZgrbQ4fKS0Kadp4aa9rLQW/rE+BypWAptuBfI2BOo+BKaeAdNKwztJyG/cDVt+TXlcKpGP8gSGsnkJE9BnE4+S4KsidIwdypNTl74lNsfJsRERk0ow0GOqeY+iE0CcPES4PeS3qHu4HOfA5hp+TtJc0GQXsksJZl1pAyybAhvlAGd0qlsZJm+ItuiC5cCEwqwPQSgqU3XsB+/pIAU83zlGaXponkxQYz28Fji8ATm4ETn0P7FgG3FJIr/GdoR7jBY0070hg5USgojTP7qOG5RMR0X+hQvpCddC0WTM003d+KOUagsdRrshfqR4aN66PygXTIe5ZNLxqVEWOZO4kISIi02O0wdC9Vj3kOTgCLQbNx5Yj/+DixXM4tmMpRrUaiM3paqNuTtaL+KzUQOYKwNyxwOKBQC0ptO1/LG0JW6BoFml0sBQcDwP3dZULdZMLoEF3YPlPwFQp6GnOAnekeRyyAbnlkwxrV6B4YWl+T2n8JWDKcSBNeaCnLxApN+LqLAVJpAKcrKSwyHtJiYg+AxUy1/oeo3/8ET9K3fDaKlwMr4+1/xzB2tmTMW7cJMxacwhnNzZB8K6jCEpyVwgREZkmIw2G0s+aby8sXtwSqk2D4VeuCPLnL4QydXtjeUQNzFw5DEX43KWPJ4W59rWBTFI3Vwp7unqDq4ZL/dUAvw1SrzR+Yl8gb3sptM0Hpi8BGg4GzkphMas0Tx17KSyOBmpK0/gtlQKcFPLqtAFK9wLGrAQmTQGaLJPCopTV2zQBXAyv+ob0emuk8delPztLITKdtFe6u0t5UBp+QgqUQdLyLkrvwZOtRxMRfWYa3P57N0LKNkUV3cE3EZcyzVENO7GZD7gnIjILRhsMdTcmZm4wCbtuvsDLgLu4ceMOHgcH4/7B2WiTi21rf6qQF0Cg1EXIVTOjwgz9L3UlgNZA4YJARmnYnLnA9zMMLZEWqQ/82RtwkPYiT0/AUVrtvh5SoMsIlM0JBJ8BRkuhcKgUDu/bAh2ksDmhmGH5icVdAaYckU5CykrBU35kXuoKQN88wB/DgPTdgEdewKA6hnFERPT5qCyUCHvyCKFJH1cU9RiPXyTon1tLRESmzwQecG8EjOAB9x8lHrj3EHgeJ4U1KQh6OcjD3yMuFLj1BIiVgmXWzIDzp97dK52MPLorBVTp32w+UnA0hruD+YB7MlZ8wL3ZUp8fg5Jl58Ku4wj0a1QM3k4qRDw6h20zx2DajZrYdHEOqtrLE/9LfMC9aeMD7slo8AH3H2TEJYb01VkB3lmBYrlTDoU61s5STpKmLSLN88mhUEfaOz10r+drJKGQiMgIWRQYijWLW8Bq2zA0Ll9UXzWjbP3eWBFWGVPWTfzPoZCIiIyDEZUYqnFhxncYuDEQuufhfZBVGfhvGoOq1nL//5uplBhSylhiSMaKJYYk/bpGPnuIgDAB+3TuyOT8+Srrs8TQtLHEkIwGSww/yIhKDBWwSeMJbx8f+KTUeaeHvUKejYiIiD6CCvbpveHr6/NZQyERERkH1jH8GlhiaD5YYkjGiiWG9AWxxNC0scSQjAZLDD+IdQyJiIiIiIjMnBEFQ10dw1aoWqkSKqXU1RiF3XHybERERERERPRBrGNIRERk9qLx6MQGzJ8yHuMXHMIzbSyuHT6GJ/KzbYmIyPSxjuHXwDqG5oN1DMlYsY6h+VLfxNLv6qLXH4FwSGuB8HS9cPRIXWyuVBPL8yzEsQUNkO4/XkZmHUPTxjqGZDRYx/CDjLyOYTSenN+PrRvXY/0ff+CPV92GY3iQ4jMtiIiIKHTjaAw9VgAzLwbi/ooWyKQ7M7AuihHrxyHblt+w5pHWMCEREZk04w2GsecxvXZ2+BSqhLp+TdCkaVM0lbpmrbug37AVOJ8gT0dERETvocb9y7dgV6MzWuSwk4cZKDMWRWG3x7h1lz+oRETmwGiDYejG8Rh7IT9+2n8bJ0cXg1fHjXh4ZRsmNsiLIl27oKqNPCERERG9hxIuzvaIeBaAcHnIa7GP8fiFPVxdVPIAIiIyZUYaDNW4f/0O7Gr2RO/ymWFvoQAU1kiXqxYGz+sLh5n+WMpbX4iIiFKghHut+shzYARa+y/B7usvER8bhKt7V2Ns20H4K3Ut1MllIU9LRESmzEiDoQI21lbQajQQ0t92djaIiYiU4qLE3hMe9ndw9TZvfSEiIkqJKnsfLF3eFlZ/DYBfr9/x8Oo8tK7dFYteVMZvq0agmJU8IRERmTQjDYYqeJcsApvdS7HuvkDGIgXhfGAOJm86ioOr5mHz/Qzw8uAVTiIiopRoHpzBvawDsenac4QE3sONG3fw+EUw7h+ag7a5WS+DiMhcGG0dQ+vy/pjSLhPCnkfDqvRATGwSjllNyqJi5y1w7jkaHXxYJ4KIiCglCVcWoGW+zMheuSum7X8Ox8w+yOTMYkIiInNjtMEQykyoO/Y39C7qIP3thoYzziAo/CVevHyCI+OrILXxfjIiIqKvxqbWLJw+PBcdsj7B6l5l4ONTHM38F2Df3Sh5CiIiMgcmFZ+UNs5wtectpERERB/PGpmKN4f/vB248vAm/p5QG/anf0Gj3J7IU/9XnIyXJyMiIpPGcjUiIiIysPVCmWZd0L1LBzTMq8T1v4/glr5lNyIiMnUMhkRERGZPg+BLmzCtnx+KeHmjVI8VCCrmj/WnFqGFrTwJERGZNJMMhpqoMERq5B4iIiJ6L/WVRehQKjM8C7bAL8etUHXMNlx/cBlbZ/ZHg7yuYFNuRETmwWiDYdzOnshd8zfcTRoA44/Dv0Rp/HiKlSKIiIhSonkegJg83bHo+F3cPfE7JnSuBB87eSQREZkNow2GIj4KYREx0Mr9r0U/x4sIDbTvjCAiIqKkrCuMxJr5w9C8aAbwIRVERObL6ILhy3VdUChPHhTuuxlB56ejdv48yCP1G7qc8M7SFGudG8KvIH/eiIiIiIiIPobRBUObLBXQpFkzNCnvA9u0BVG3aTM0k/p1XfMW36Hvzxtwav84lGZleSIiomRocHNmbXhl74y/QnQ1MCahUZVKqFQpma7GKOyOk2cjIiKTZnTB0LZwS/iPHIlhnRqgQvWW6DtiJEZK/bpuxPCh+L5DLeR2Mdo7ZImIiL4wBVKl8YC3dyY4W0onAnbp4OXtAx+fZDrv9LBXyLMREZFJUwiJ/Dd9KeftABEt95BJyxMIWGaQe0xA6HOgeU65h0xa7uLAr9vkHiIDXSvfMTZOsP+PTZO+eByJVaNPyn1kakr5ZUHR2pnlPiMX/wS44i73kMlJNxBw+1nuoaSMvGgtGo9ObMD8KeMxfsEhPNPG4trhY3jCh/ESERF9FLbyTUREOsZbYqi+iaXf1UWvPwLhkNYC4el64eiRuthcqSaW51mIYwsaIN23Entv1wBErNxDJs17A2DhKve8osGzk2uweN0BXA2MhaWrNwrX+Q7tamTFOy3Ca+5i++x1uBD57tdSYZMLDXvXR3b1HWydOQsbzz+HMlMxNO/VHZU9LQwTaR5h78LVOB2bC34968JXHvyvscTQfLDE0GzFbm6HrJNz4sDBIciauGQwdDM6FBgCl1UX8Gvp/9agG0sMTRtLDMlosMTwg4w2GIb+0QI5BmsxccditAgYjDyDUuOPk2OQL3Auahdehxqn96Cv17eRDE9suSf/ReagRF1v+S8dDe4ua4lKXf7AgwQFLFQKaNQaCKULyk/cj78H5X+7efjY7ejkUxeLAt993orCuQXWPVmMdMPzo8qsKBStVxRxh7biiudwHDvxAwpKITBqXy/krz4XcW024NLienCW5/3XGAzNB4Oh2dG18l1lzDHERQXg1nMbeGd2haU8Tnfsigq8hyCP/vj72Pj/3KAbg6FpYzAko8Fg+EFGeiupGvcv34Jdjc5okePtMhdlxqIo7PYYt+4myEOI/o+04Qh4Gg3LjNUw6ehTxMa+wD+TKkuBLQRHF6/C2aR3aFlmR4PBP2LMmDFyNwodSrhCqbBClgZ+KKk8j2277kJZfhj+XPcHlvXOD83FndhxWyOdx93Hskkrcc+yKHoMqPXfQyERmTS28k1ERIkZaTBUwsXZHhHPAhAuD3kt9jEev7CHq8t/rClP9DkoXVBmyBZcuvoXBpdMC5XKGbmK5YKrrpU/hQLvNPanyoI634943dJur5KhOHEuBFYFBmDZzMZwU0QiPBKwcnaFo1IJV1dnKEQkIsI1iD4yDdP3RSJj40Homvu/3kNKRKaOrXwTEVFiRhsM3WvVR54DI9Dafwl2X3+J+NggXN27GmPbDsJfqWuhTi6eGNO3w8bWAtfXDEf3Ti1QvcMi3FOkQ+Ue36Hwh6rtRB7Aj73n4JrGG+0m+KOUrnDcwhPeHkrEXD6Ok8HPcPTkDWisPeDtHoCVk5bhtqogug6sgYjd0zCgQws0b9sL4zdcR5RhiURE77AqMwIbJhZBxFstt0XjyqFjCGBjbkREZsNoLwWqsvfB0uVtYfXXAPj1+h0Pr85D69pdsehFZfy2agSK/bd68kSfmQZPDq/EgkW/4+C9aCjs3ZA5rY08LjlaPFgxEUtuqGFZuCP6VHEwDFZlResBbZH14QxUTuuGpqsikK/b96hzZwam7AlHOr9B6Kz9BY3rD8LqawIWj7diTPM6GLKX0ZCI3iPiEEZUKYn6E/cjUh6E6DNY3qs2ynXdiGfvVnkmIiITZMT3iKjgWWcctlx7jpDAe7hx4w4evwjG/UNz0Db3h064ib6sk1vv6buIkMQt0Vqj8ow7iI4Nwa0/OyNb1Hks6D4E60Lk0Ulp7uGPNQcQISyQv25D+L6+M1qJTH4LcP7eVRw/cBAnb9zFqcl5sGPyEtxSFkCXQfUQtftvXFDnR/cFK7Hy92GoqHqA3dvPy/MTESWmxfP1v2BufCcsm1wV9vJQ2JbD+I0/wHPTb1j9IOlzLIiIyBQZcTDU4uXVS3gYr4Jd+szI4vAAa0d1ROsuo7H2CktH6P/HKV0qfWdhYfh6aZ4exooNFxGrsoCVtTOyVi6LXNbSHhz5FIGh0gmX+hnO79qGY/ej9dPraIP3Y//ZeAhVBhQu7oOkNWat0+VA8XJlUTSrKzQnp2PKrjCkqTcAPfNbIDJSWo7CEc66ukH2znCSXisqIkKek4goMS0e330Ml9LVUDjJ83NUXqVRyuMx7tzj/aRERObAaIOh5s5ctCxfG6O2v5R+155gefdmmHhMOiG+twZdG43EIT42kP5PchTLoO9SOVgB8ecwrk41fNeiNmp1H4Opv03CgFZjsCMKsPQtgzJuCgQuboeyNeuigt8kXJDPv9Q3LuNmnJC+oR7wzvyB+rLaAKyZvAjXkQedBzVGOqUF3H08kUpzEycOPUHQiaO4GKWEZ5bEj9AgInrlf+zdBVgUWxsH8D/djYSoYGEAYoHddW3F7i4Q6+pVr3WxuxUDbBG7sbBF7M5rIiIIEkrj7p7v7O4ASwl61U/k/T3PKDM7PefMzDvnzBlpI1b6ssbc0qqRpooPxpsIfZgYU2NuhBBSEOTTwFCC4IM7cd1pMma3MYbk/VHsulAGY313YdvBZeiUfBrH79MTTvILUHeE+/LZ6GQbh4trp2HMyAlY7BcEnQrdsGTT36imrgztYraw1teGpW1JpDYAKIn4gCjpez3KujAwyPmmLPn6Siw+GgOjVn/CTWjJxqTdGIx0TsTuHsVg3nglgsv0w7jepWW/EUJIRsoo0rwNyp+bgh4TN+BowE3cu38Hgcc3Y1qvsThYqAVaUmNuhBBSIOTbwDAmJg5GNiVhwrcg4fIF3LGsgTrF+A20eiGYGSTgYyy9E0F+BcowrjkaO++HIez5XVwNvIq7z8Pw7s52uFWVNyhj8McyPODpOci3N4oJOVLTZRsixQws6QSGFJIPy45Gtdm4lyLGh329YZmamw3qYvqlILy8dw1Xbz/Hmztr0D7tR0IIyUil7Ahs9O4CtncM2tWpCscKlVCr1XBsim6KFdsmUWNuhBBSQOTTu0VVWJctjk/nfbH3oh8WrToB7fp/oCK/eImDA3HljeWXq98R8tNpwKREBThXd0aFEsb44fdZyrooau8EZ8fiMKKsQAj5IlUUbz8fJ/6NRHToy7TG3IIuUmNuhBBSkOTbYgQjlymYYnsewxq1w/KYjpg3oT40xa+x3tUDTxoORGcbeieCEEIIyZsEBF85CJ/tO7Dn/Fuo6Evw+OJlZPi0ISGEkN9a/q1fpukI9/3/IjoxERG3PNGxKN8UlWLouvAEzm5Or5JHCCGEkC8Q/YtNPSqhXN2+mLZoIWat9kdo4n3sHtsG9YYcQDh9x5AQQgoEJcYJf5MfpW1RIDlR6CG/NZ+HgLG50PMbiIkAupYTeshvza4asOio0EMKkpjd3VD2LwnmHtuAbu/+gv04E+y+Oh0VQtegZZVd+OO6P0Za/7enrR/exmH7tKtCH/nd1HQpCaeWNkJfPpcSAjwsIvSQ347ZWMBqgdBDMsvHgaH0O4YPEVfKAcWk7xaGnsXyORtwM6kEWo/8C13sMn2Q6f+JAsOCgwJDkl9RYFhAiXBnWnV0CJ+LR56NgTNuaYFhRdzEZKduiFl8HysbaAjjf5uk+M94sdxf6CO/m0I6EpiNaCn05XMUGP7eKDD8onwbGIpfrEbL6nNhsf4ONrVJxEaXSpjwtg6aGN3HkeBWOHRnMer+Ku/MU2BYcFBgSPIrCgwLKAmCljSE08X+eLivN/QVA8Okg+hbzgPFDl/D9Ir/vRUrsdcR4S/yO1IZ2Er4K5+jwPD3RoHhF+XTN/HoO4aEEELIf6eMIi3awv7cZPScuBGnnkQhJSkcj077YEbvcThg0gKt6DuGhBBSIOTbwJC+Y0gIIYT8dyplRmDTlt5QP/AnXIb74s2jtejZcgi8PzTC8u2T6TuGhBBSQOTbqqTRPh1RZpYRlq5pj2fT+mBLuZ14uKoh1F6tQNMqu9H8xlmMLfGLfLKCqpIWHFSVlORXVJW0AJEg/Ol9xJvbo7ghv07Gh+FllAaKFdVH8vtghHyUQNesCAobft+IUGlhL+Ev8jtiY7cKf+VzVJX090ZVSb8o337Ugb5jSAghhHwDyVv4DG2C8ccTZL1Jpyegbrd1eC1WgY65DWxtS3z3oJAQQsivL98Ghl/6jqH/8jYwFkYjhBBCiCJ1aKgl49n1qwhJoI8UEkIIkcu/gaFAWUVFvhEJbxCwYwEmTx6CJvb9sT9J9jMhhBBCFCmbwcWtG5LXNkURHRVotd2MkIAJKK2qBCWlTJ1mO2yVFywSQgj5zeXvwDAlHPcOrcKEHvVQunBJ1Om3GBcSKqDv7BGo998+uUQIIYT8ppRh3nYNbr98gEsnj2LfP01gajcAXgcP4dChTN2+SWhI11NCCCkQ8l/jM5KPeH5+P3x27MLeg2dwP0oTxWv8gdbWr7DlTWfcPPMniv9qrxdS4zMFBzU+Q/IranymwBLdXocxhwtj0uRWMP+Bj4up8ZnfGzU+Q/IFanzmi/JRiaEYT7cMRM3iRVC2iTu872uh/thNuPTiHV5c8MVcl9Kgh5qEEEJIbqStkt7Fqxj5Z51UbdtgVL9ass8/EUIIKbjy0WVAhHfXz+D6B3O0nLoVx/x2Ydm4rqhZTFv4nRBCCCG5yrFVUlkvIYSQAiofBYZqqDR4IeYMrICw9T1RoXBRVGo1GNM3+ONJNF3NCCGEkLyhVkkJIYRklY8CQ2UYOrhg7LJ9uBoUgkeHZ6KtxRvsntASdlZFUW3aBcTGRSI8ji5yhBBCSI6oVVJCCCHZyH+Nz2SW8h63/XZix8492OsXiCCxBSo2HYWVvn+i+q/yfV5qfKbgoMZnSH5Fjc8UOMnhj3Dj7muEX16KwbuLYe7stjBTEn5MpWKBys2cYPUdGnWjxmd+b9T4DMkXqPGZL8r/gaECSfxrBBzYgR0H4tFy60y01BR++H+jwLDgoMCQ5FcUGBZY1Cop+R4oMCT5AgWGX/RbtUGmrGODOj0mYvXuXygoJIQQQn4pEkQ9uojLz2NlfaqVBmP51GyCwuSHOLT2KJ6IhH5CCCG/td8qMCSEEEJIbj7jrucADN/8HGkxn/gNjq/0hH+Iwnv6cZfhOX49rqcI/YQQQn5rFBgSQgghBR0PDE+u8sSpt1Q8SAghBRUFhoQQQgj5sSTUtCkhhPzqfqvGZ35Z1PhMwUGNz5D8ihqfKUCScdbdAX8a7sS1GZWgKh2UcgljHF2htukG5lUTmvSOXI/mJY+i+7sD6KUtH/TNEu8DTyoIPeS3YzkbsJgo9ORz1PjM740an/kiKjEkhORvyiWBdiOBLpm6Tp0BXSV+s9IY6JzN79KuRilhJpkoGQF13YGRq4Cxi/n0LoCBwunSsikweBkwbgnQpm7GM6kp7+/E512NrxchhBBCSD5BgSEhJH/TrAr0m8y7KRm7Pv0BQx4YFm0F9M30m6zj09TNpjRUqTDw5wlg4jTgjw5Ag55A/7XAsjWQNduoVgOYsZlPWxrQcgCG+ADd+f8y2jyIXMSXN4DPJ0IYRgghhBDy66PAkBCSvxkUAlR4APh0FTC5S3o3bRIQIQHe+gFb5wBbhG77diCWD//8Cgi4LsxEQYURPBgsAUQe5UFfScCFB4JngwGLtkDX+kDJJoAln963LzDTDXipAlRtJD+bmncFGlkD/3oD1z7J50fIL0mEB/NqwUBHBzrSzqgJVj57hCX1jeT90q6YO/yThdEJIYT89ugdw5+B3jEsOOgdw5+v3DRgIQ/QzvFAbdFZQJsHiXE5NXRhAAzlgWJbHrztbA9syhwYqgH9zwOdeWC4vx2w9op8cGkeZC4ZDbxfA3hqAB4dgfnlgQv6wOzbgNFqYPgiYABffhsdPqwODzpj5NPmF/SOYQEiQdiVfTj+OBa53gCoWKNuj4YoqSL0fyt6x/D3Ru8YkvyC3jH8IioxJITkbwamgBIPBp0XAgffALtfA9v9efBXWRhBQYW/gFa2QNgOHhhmU1oobYbD3IL/Ly1pfCEfJPXulWwQTIoCkXwZEi0ekFbhAaEzUITfMX/gw0w6AU14QPliE3BDF2g3HZiwHnAdxcf5ry13EPI9KcOiekf07dcP/XLren+HoJAQQki+QIEhISR/+8iDtqgEIOImcGQdEPgQMHQEBnsCDkLrilJKRYDO3QGVz8AJPl5Ohfiq0jYaGfBZoQ6diE8jrVyhzH8L3w34v+SB534egG4AtPny9p8E2gzjf0cAe7YCHTYCgzrwZYqAauOA6VMBDWFehBBCCCG/IAoMCSH52+PFQL/ywPBewNpJPAhzAa584gFgMaCiQquj0ncEK+gC4gdAgEJpYAYSID6O/89PjXpG8kFSOvp8kBKQ/BFICQOW1eeBXzNgXFOgTxPgdSOgaUngxRYemGoDVeyBlzw4nMeDRd9LgLn03UQ1YWaEEEIIIb8eCgwJIfmbkiFQyVHokVJ4a+rzZ+EPHtQ51gbU+P/Rd4Ewab3QVCpAiQZAuaL87xQe0P3LZ8GH2VWXTSZjX42Pxucb9JAHltIBfLy3t4AHt4E4Pm47Vx48RgJ7vfnvOvLSwQQeREpXJV7aCA0fppU6M0IIIYSQXw8FhoSQfEwbGHgE+McXmD6HB2iDgeGbgGr6PCh8Ctx6KYynCliXlAd6EW+E4E5g3ANYtAtYsBkozk+JAfzvWD682hTAVfq9Qz7fwa35gGjg1EH5u4aKjF2AP0oDr7cClz7w398B4UmAVVXAxBQob8eHvQXei4QJCCGEEEJ+PRQYEkLysQTg8FzgbjhQaSAwdDbQqhYQdxdYOQz4NzUC5Kc6A6FqaOKnjMFdkjRo45Fg1As+Hf8hYgcwbzH/X4/PS/q9Qz5f3VBgxxDgJB83A3WgjbS0MEZeWiiL/XgAuW8toNEW2PaE/16YT7cCCMkcURJCCCGE/DrocxU/A32uouCgz1X8/xhYA2bGQApf52AewP3XOExJByhaisd+PO++fcYDyK88VWrygLAYTwsfX/LA86Mw8BdGn6sgPxJ9ruL3Rp+rIPkFfa7ii6jEkBDye/gYBDy7DQR9h6BQisUDb+4Cz//9+qBQKukd8C9fn/wQFBJCCCGkwKPAkBBCCCGEEEIKOAoMCSGEEEIIIaSAo8CQEEIIIYQQQgo4CgwJIYQQQgghpICjwJAQQgghhBBCCjgKDAkhhBBCCCGkgKPAkBBCCCGEEEIKOAoMCSGEEEIIIaSAo8CQEEIIIYQQQgo4CgwJIYQQQgghpICjwJAQQgghhBBCCjgKDAkhhBBCCCGkgKPAkBBCCCGEEEIKOAoMCSGEEEIIIaSAo8CQEEIIIYQQQgo4CgwJIYQQQgghpICjwJAQQgghhBBCCjgKDAkhhBBCCCGkgKPAkBBCCCGEEEIKOAoMCSGEEEIIIaSAo8CQEEIIIYQQQgo4CgwJIYQQQgghpICjwJAQQgghhBBCCjgKDImcciGg4Uhg1Grgr+VA7wGApbbwo8CwMtDFAxjrycebDbRsBGgJv2WmYcN/Hw+M5uNK59dnIFBER/iRU+O/d5jBf+PLG8B/K6Qi/MApFwZajADaNaMUSgghhBBCyE9At92EpwJrYPxJYNwUoKkLUK8b0H0esHwHUFxNPo4NDxRX+QH9XIEG7YAmgwB3X2Dh1KzBoXJJYAqfn/u49Pl1mwss5fOzkQaAGkB/Pm0/Ph91Hiw2mQlM/TM9NTrwoNBtElBCCZAIwwghhBBCCCE/DAWGBNC2ADQ/Azc9eABXGOjcELj9EdCrBjSsACjxYQN4oGbMAH83oBPv71gTOHYRuMgDwCRhPqkKNQMqGgMRB4GBxYF2VYAzbwBdJ6BmaUDVHqhiA9xbAszqDxx6wAPQRkBhnhyVi/LldwZEt4G9p4QZEkIIIYQQQn4kCgwJEHcVmFYH8FgBfJQA8U+BN9Hy3xgPBvUbAA56QMplYONuIIEPS3wGLHMBfK/wceSjppGIeMcHxr0E3icAn0OAkCj5b4zPX0lHXsoYz5ch7Y/lQah0mLYKYDeUB5X874t8XYLE8mkIIYQQQgghPxQFhkSQDIhLA30WABN48NfMGoi5APjfBcyLA2pKQFQQ4Mx/38CDwgO8W+LJAzkjYXoFHw7y6fjv1m7Aiv3A7FNAlwrA233A6ed8OTxQjOABoY0ToGcGlOHLlQaPHyyAzl357/eAvWeASkOAMeuAsXOBWnwcQgghhBBCyA9BgSFJp2IJNOoN1K8FaDIeqL0BUvhwdU357/qtgH61gRfngODPQNlOPIj8B8jURg1U9QClBICpAcWcAXs7Hljy+SWLAS0+TPKSB347gUKDgF0PgIa6wNE1QGHeX4lPG7CST8+Dyn88gKI8IJVWTZ3oA1TMvCBCCCGEEELI90CBIUn3+QLQtwjQwQk49gIoyYPEAe2A2Bh5dVHNZGBJU2AWD+DGDQfCeaBnzIPIUury6WV4IFdvKvCHIxC0HuhlA7Sz5wHgXaBEN2Bwdz4Kn1nAaKBPTT6f1nwZlQGvx0An/pvkPrDnOFC5AQ9UedC4dCgwewkfXhRw4vMhhBBCCCGEfHcUGBKOJwP7zkBxDR6AfQbiXwEP/pUPNzLnAeA9+buHiANiEmVTQMSDxWRptMg76XuIhjxoc+YBpQafxqywPPh7eQmI4vOTRAB3+DwkPGg05YFn6pcpPj7jy7kChPJ5lR0CVNEHrqzm04kALS0+31i+SL7cpI88aOXja+vKpyOEEEIIIYR8VxQYEqDkn8DsVcB0X6D7UKDTdKBHI/4Dj8Ye8sAt8Rxw8hFPLSWBETxw6+AGjF4AFFEFogN5IGcMjD0CeBwCOpcFnj8AxDxp1ZoMDBwBdOT/D3bhASEP8l7e5UGlfLFplCz4MnvyPx4De/g8mJgHi2/58koBDpY8aKwGaPJp372Rj08IIYQQQgj5rigwJDxYWw9sPAho1QB6zwQGuAJmCcA5HtD53uIjpAA+A4HD1wGrdsAgD6ChAxBxFlg0A4jn477lgVzyex68xQDXZ/Pp/HmAxwPJjlN5cDgKsFYB7qwEvHkAmZktn7ezAXCVB6fPpEWD3GVP4KkmMP4eMJf/HuwDnH4h/40QQgghhBDyXSkxTvib/Chti/KgSaiC+StTMwKK2PD/k3mA9wyIE4I0RdpWPDg047FiKPAmTFaTNEcahfi4Rfj8+Hze86AutRpqXkk/YVHMFlCOBILeIF987N7nIWBsLvT8BmIigK7lhB7yW7OrBiw6KvQQ8p0l3geeVBB6yG/HcjZgMVHoyedSQoCH/N6F/J7MxvJ70wVCD8mMSgxJus/RwKvbwL+Psg8KpRL4CfMZHycol6BQKpkHFS/5uE8ffH1QKMXi+XL49K/ySVBICCGEEEJIPkWBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwSowT/iY/StuiQHKi0EN+az4PAWNzoec3EBMBdC0n9JDfml01YNFRoYeQ7yzpKXCpvNBDfjsXtQCPOKEnn0sJAR4WEXrIb8dsLGC1QOghmVFg+DNQYFhwUGBI8isKDMmP9oep8Af5LR3/IPyRz1Fg+HujwPCLqCopIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcNQq6c9ArZIWHNQqKcmvqFXSAuvx48dITPwJ16jhDYU/yG9p5Rnhj3zuczjwornQQ347xr0As1FCz49Tvnx5aGpqCn35R4ENDG/cuIFVq1YJfT/Y6V2AWCz0kN9avXaAhpbQ8xtITgLO7xd6yG/N0BRwbiL0/FizZs1C4cKFhT7y/2Zvb4+HDx8KfYQQQv6rBw8ewM7OTujLPwpsYLhnzx506tRJ6COEEPKz5NcL5u+KAkNCCPm+KDDMZ44dO4ahQ4cKfYQQQn4Wf39/lC5dWugj/29nz57Fp0+fhD5CCCH/VcOGDaGnpyf05R/0jiEhhBBCCCGEFHDUKikhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcEqME/4mhBBCCPkhxMGn4bXjOUp1G4hGRVWEoQokEQjYsgm3zDrAvUUJYeD39/HOHux4aoMunarCKN89Hhcj+LQXfK5FQSIMSaOkC8fOrpDuOuk4O56XQreBjZD9rg7Alk23YNZBOj4fQRyM014+uBaVZa58to7o7NoC0tGkUh7tx8pDL2HT2h0udurygf9nsrTlcw2pq6+kpAotM1vUbtEcVSyEdZRt405E1xqFjvaq8mEZyPftzuhaGNXRHqljiF4dx9rdwSjfcwAaFFZMMLkfiz+MrmP7hucoM6AnnA2F32RScH/PClwx6YZBDQpn2f9KSipQ17dE+Xot0cTOGNkcQr5iobi8ja/vxaeISNGERflG6DG4C6qY/MqJ+iPu7NmBpzZd0Kmq0VeUTsn39Vel6a8lCcW5Db6IrumO9uWzSx+KYnHDZx2elBqAnhkPbL5HJYaEEEII+eHEr49g4aThGL78KpKFYYpEj9ZhzNCJmLPviTDkR0jBwx3TMHbSVtz5LAz6gcQv/bFp5xWEZ423vpEYr48sgse264j6+BEfM3SfkPhZ+qxfOs5CTBo+HMuvZrun8WjdGAydOAf7ngg7QfwaRxZ5YNv1qEzz5N2nRMhmK5OAs8tGYYrHFIxc6o94Yej/mzRtLfLYhutR8nWOiX6H+7v+QqNKLlj7rzh1JBxZ+A+23kyS92ch32//bL2JtDE+XsI/nXtg+b+FUNYi8y1z7seCRZ6H57S1uBAlrEOaZNzcMg2Lj72R98rWbRo2XY2Ur3/MB7y5vgUjaldA29WP+BHLhAcxu/rXQqf1b2FVuzXa/1ER6gFT0bSuGw69lye275L2xC/hv2knrnyvBJzyEDumjcWkrXfwddnvG9L01xK9wbElPA/cSREGfIEkBgFe/2DthSi+Zr8XKjH8rpIRuHostr6rhZEeXVEmhwcWyTe98bf3v3AcNgu9HXJ7KvE9JOGBzxxsj2yI0W71YPa7PA5IDsTqsZtxL9tzgDIMa7lhZi87qMrG24p3tUbCo2uZ7J+8SU/S3n/D+19HDJvVG/LDIj+em7NfAJQNa8FtZi/YpR1CEe5t/hueV4AarrN/0rH9/pIDV2Ps5nvpJ20lZahqGcOmaiv07FwdFmmbJd8/vqq9sWCwE3J6biybn68qei8YDKe0kSQIPbYAc/wkaDZhPFpaZUyUWdZBkbIharnNBD+0uO39FzbEtcXMkfVgIPwsJ8H7Ewsx85wVhs3oAdnDv8zpRUkJKur6MLetjrZd28DRJIcMK4nGHd+lWLnzIh6+i4WSXhHYN+qNMaPbo6y2ME6+8ZueC0i+kHJxNOybrsYbQxdsebADnU2EH2Ti4e9aAa29Q2Dcax9CvFoIw38ECSQSZSj/hPSfsKc7rD2scfTmHDh/l8K1FFwcbY82ITMQsqsLsj8FycdpuvoNDF224MGOzsi4q/3hWqE1vEOM0WvfC3i10JQeHIy2b4OQGSHY1eULJ7b4oxhYfizU+1bBIW91eD7ZgNa6wm//R7K01SYEM0J2IW31xY8ws7oTjnW6iwt/lYKKdBvtmuPl5DAc7JPdSkv3mx2av5yMsIN9oCt+gx296mFU6DAcP/oXKmXZLbkfC/HzeahT8Qhc7p3D2AylWLHY1MYS88r64/H86vL9n2XdJAha9Qcc55fEnn890VhDGMxJwjzxR5mdaH7vDEZbCwlZ9AI+M7ZCu89ktCuh+n3SXsIedLf2gPXRm5jzfRIwX3me/3jm+7rs9w1p+mulXMX4Ss3wfNI77O3+hTwgJQnGssblsafFXZwbWyKH+8r8iW4LvqsUPD2+Hp5zJ2KJf5wwLBNJBPbOnYClazfj3Ossz4B+DMl7nNuwGItWHMCTn7TIVJLoG9jl6YurEd/tcWm6lKc47rUFgdFGMDU1zdSZwEhXDUqp4633xNyJS5DzYdmLuROWYu3mc0g/LNLj6YUtgdEwyjJ/U5gY6UJNtgBBcgC8Zq7Exo1LMcPrMg+b8qeUp8fhtSUQ0UbCtpoYQyf5Mba510e1PjsQknYo5fvH+8SzrE8zFcjm530CzxRGSrq7GD16zcFVo7qonSkolMqyDoqdiRF0ZTs+BS9Ob8T6ww+QkCV5McTc3o/1W8/jTerjPFk62ICLH4T0YmICA7Vo3FwzANWr9MTW19k990vAFY+maDD2LNTr9MG4qZMxoqMtQjb0RN3Wi3An9bEyDx5v7PKE79UIfin/rySIvrELnr5X8d2zzf/xXECIlJJJU7Qrdw6em59neNIuCduNVQeN0bqldcYbk/inODjfHT3bt0brDn0xdrk/goQH+pLoi1g7dw8eR93DzlljMMX3X1levLh2FnbdD8GltX+hn0sbtOs+EsvPhaYt72OAFzzWXZRXO8zD+NLr9hWv8ejDf2vfcxSWn/kXAd4z4HNfyESSSFzxnoh+HVqjTceBmOZzFzE8H0ee98R03/tICL+INZMnYPL6QB4O8PPfy2NYMqYPOrRpxec3AguOvEgrocp2m76JEkyatkO5c57Y/DzDnkbY7lU4aNwaLVMDiq8Qd3oPTmi3RM9RXdEMJ7DHX7pFvyglHejqKIGxbzmRJuDGvJ4YebMBPLePzSYo/BmUYeloD7PIELzNrhCLfUTkB4XHp6ol0d3jHx4UKmef9mRpfS72PI7CvZ2zMGaKL6SFqTmlR4m0tHO6L+4nhOPimsmYMHk9AmWHOx5PDszF8O7t0LpdT4xZeR7vFJKYJOIKvMb3gUub9jydLMeZfwPgPcMH8uzyEQFeHlh3Mb36bfyTA5g7vAfat26DzoOn8/XLqRz669N0/NODmO/ek8+7NTr0HYvl/kH8zkEgicGdbVMxsCPP892GY+HJkCz3MvJ16452rduh55iVOK+4ob8pCgx/ABWlt9i5aifeZXMuEv+7EauPxUgLK34eZWsMP/oW4bcXou53euCTVyz0OBb8ORdH06OJ70wT9p2nYebMmZm6GRjf3lbhKY4KlN7uxKqd79JORunE+HfjahyLUZIHkplo2nfGtCzzn4kZ49vDVuExUdKlXTjyoT7GjaiMkMO7EJBTbZX8QNMenaelb+u8VbtxcklzfNrnhf2h/+1YSsKPYnTXf/C84XL4TquVqaRPQaZ1SOtmjEd7xR3/NZTUUdZlStq8Zi9ch4MXt6En9mGO5/X0C0aqpLNYv/456s7ei9Vj+YWudVt0dZ2HgydXwsU8Dh9ihH3BQnF8wZ+YezQkm/T1tRhCjy/An3OPKgTh38n/8VxAiJwZXIa3wGsvTwSmPT0T4ZH3Glyv7oru1gpnYXEQNvZsCHd/PTTqNwKuXRwRtakLGo88zm8veU6JuYbtc+djVLdeWPkgGRqaatKBuLZ9Nib36YN5L0qj3eCBaGF8Bf90GIJNsouyBJ9u+GLx9quIkdaXynV8MZ6u7IpWHndRrO0gDGpfFm8WdkePvxfj4GPpGUOCCN+hcJn/Go49XDGknRVuTnfFijspUNbQhb6OOpRUNKBrYAB9Xf63JBjbx03CGe266O3mhu6VI7GpZxtMDZDvjGy3KRviD49wzt8f/mndaVx6kuldNzMXDG/xGl6egekPKkWP4L3mOqq7dofirpYT48Ojcwrz5N3pS3iS9t7hR5zcfRJ6LV1Q1agBXP5Q5v0nZMfilyD+gEfnhPU+5Ycdc0bBM6QlhnYu+ZUlOgzhB0eix4JkDNvGz/UZ3ivMKk/H4puIEXLrDt4XLomSCqWFUspmHXhgloTlzavz/DSd39ucwaOI9CtYtmlPltbnYv6obui18gGSNTSh9qX0qMyn1deBupIKNHQNYKCvy/+WIHhrHzQecQYGzQZieN8aiOV5ss30a/I0Jn6KlV1bweNuMbQdNAjty77Bwu498Pfig5Bnl0+44bsY26/G8L3MRw/aiJ6NR+K8URP0dxuElpY3MLHFIOwUqsNm8RVpWjbvhu7w12uEfiNc0cUxCpu6NMbI49IUK8Yr715oNv4STFoMxOBODghb/je2BKcHfpLgrejTeATOGDTDwOF9USN2E7q0mY5raQv+TUmrkpLv5RPb2FqbFWvWkjnqVWH/3P0sDE+VyM6PtGXGDVuxOrrmrN+hRGG4XPzLc2zb0pls6pR/2Lw1+9mN9wrTi8PY7ZPn2KNoMUt8e4Xt23yA3Y6RDr7NTp59yKJEMeyxnzdb4DGV/bNwMzv/WnHeYhZ+9xQ7GviaJQn9YbdPsrMPo5go5jHz817APKb+wxZuPs8yTMaJwq6zXSv4Ok2bw9YcuMciP79l149dYE9jhRG45HdX2M7l8vVeuOlc2jziXwSwQ2v7MluNkqzHygPs0OGT7M57sfDjS3Z2yxI2Y8pkNnX2SrbryjuWLP9FRrZd5x6xaHEie3tlH9t84Dbjm5vRp42staYR674n00pnJh1Puxhr1tKR6VX5h2U9LOfZSFtj1rBVHaZr3o+lHxbp8dRkRt338COXm3h2fHAxZtjKi4U8nstqaBVjQ47HC7/lL582tmaaRt1Z5t2adMaN2WhWY7Mei4Qh8v2j47Kdb33OZPPTcWHbpSMlP2Irm5sz/ap/swtZDmi6nNYho3i2u5sh02i0kr0TklU6EXsypzrTsBrEjskTvXSmPL3oMBfZiij6xDa10WTa7bexOGFImrgdrKO+EevoEy0MyEb8CxZwaC3ra6vBSvZYyQ4cOsxO3nnPf5Dns3OPopk48S27sm8zOyDNtLJpckr/8exFwCG2tq8t0yjZg608cIgdPnmHpWYbvkLsxdktbMmMqWzqrFVs7+0PfCkKRGHs+q4VbObUaWzOmgPsXuRn9vb6MXYhLcNmPhfIxb04y7YsmcHzsAdbtPkse5k/ky75xSVfGMVsrfqzI7G32dQqVqzLDiH9xp1iw0rZshFnY2TXyCIDjsrGFz2fz2rp1mWLX6Wn8kR/V1bctCvbzTOr6OVCVkddjzVY8pSlndZFL9nCOhrMtJMPC0+dLP4g62tpwfoelJ5QxOzN0gZMt/YC9kJ6KsttfNFjNstZl9Vb8jotr4lDPFkzXQPWeac0o/BzzezqzLDBYvZMyFSiz5/Txo3f3Y2Z2k9gVxUvcCIRn0rAr+2eTXVZ5Wl3ZduQ7TZlkMwujCrNz21VWLPmzVnztK4l67PitjCNdBxbZtX/CIu9PZVVserCdnyQr1HcqWGslO0IdjZGet0rwgYcFU6yyRfYqNIazKpKM4V58q5lH7bitrAm0btYN4tybGyAcLbyG8iKmnVmvlGy3v8radoqrWHFqjRLXfcmrI59EVaywUR25K1wNKTbWEqHtdmkcAOTgXS/lWKaDg1YXStTZmJgzlqufZ5+rLLI/ViInvH7AZ3abIEssSmSXj91WNlxgfJe2bppsDLtx7NJkybxbiIb078xK2VcinXf+jL7dRBHsTu75jC3jg1YBStdpqpRmNUYuoU9FA5plrQnS+vqTK/BEvZUMXF9IT3ymbBupvZsQupM+DwW1dVn9Zem54f4IwNY0dIj2Hk+iujxLOasW48teZ2WW1iIZzOma9CZybKL+A1b2kCX1V7wgi9TxJ7Pr8X06i9laaPzu61XT15lc0/xtWlaPm/duotZ+ukjkfm7FmemXXfzn5+z+bV0Wa356cdX/GYVa6KTeo8gYi8X1WX6iusWf4QNKFqajZBuaIbt+L1QieEPoFyiF1wbvMbGlaegWHNRErEPK3yT4eLWBqbCMDkJQg8Mg3Oljph/6hnCI4NxbeNw1HNoivk3EuSjpARicc9emLtqCho6NsSAKRtxOVLMBy9Gj64TMWVQI3Ra4I9noUEIXO+OxjV6Ymtw6hOXz7ixoi86TD4itNiVgsDFPdB14hQMatQJC/yfITQoEOvdG6NGz61InUz8YgM6Va0DV69rCA57Dv/FXdCw41AMchmNHa/kBe7iVxvQ1akFPI6/QETECxyf3RZVmi/EPZEEH69sxtzVZxAqCsP5dbMxc9YSHJbWJ4w/jwk1K6Pr4tN4HhGJkOsb4V6/Mtp7PpXNU0q6XT17zcWqKQ3h2HAApmy8DL65/4EySvRyRYPXG7HyVIajgoh9K+Cb7AK3NhmPyleJP4vdfp9Qu10rWJRuj3aVI3Bk99lf5sX8/yzlDY5uO4kPZZug0be09iXFonB6YldMvF8Ly3ZOR50ciwp/MnEowiIYDIwNsz5V1qqLNo3VcHhiN/y96TQehmctBpZ8vILNc1fjTKgIYefXYfbMWVhy+Bn/RZrPeqLX3FWY0tARDQdMwcbLkRB/Kf1LPuLK5rlYfSYUorDzWDd7JmYtOSyvhit5jyPuNVC58yKcfRWBsLvbMKKuE3r5BEGWNcQvsKFTVdRx9cK14DA891+MLg07YuggF4ze8Uo6Bpf5XCA99wyFc+XOWHTmBcLDn+PUvA6o2mASzsXIJiDk+2IMEtUKGDy0Ei56bsRzMU+Du1fhkOVAuNbRhEQikZUkSIneBCFUtzhKKjT6oV6qFIomheLtB+FCpVYOjf8omdaCpJwqyjg5wzh1MlVjGOmlIDE59ZqY2RfGF71DSIQubEqYp1WxUjYtjzIWqUUTKijdZyL6JS9AVRs71HMZgpm+dxCd06KQgAfbRuIPuyKy6uwmpuUw7lwy4uPj0kuYst2mjLRqjsM+Pz/4pXVHsGl4xQzTSKtQqlYYjKGVLsJz43OIJaHYveoQLAe6oo6m9D3LzE1MaKHmuH0K8+TdkU0YXlE+1+jju3HasCXaV5VXN9Cu1wHNNc/wa1+UrP//Tqsmxu1LXfeTuHD3Ov4x3oih047zvZ53okePoTfpHAIWOuPm34Ox4lGWuiQZfPFYqKjy/8V838tGVSCCmJ+4VdUypVwNbejo6EBHKwpXD1yD9T8nsaVn8exLPJWN4NhpAlbuPoO7byPw8uRfsDzuhiErnsivCdlSQ7nGf6Bk2mLzkB4ViV7jZXAyHnl2Qo1q1VCNdw3+PoHosBCE8OuU6F0IInRtUMI8LbfAtHwZpGWXDER4ExQKHeviSBsdmrApY5PDu7Nfk6bl89YtXhLppw91lCpVFEmhb/nPbxAUqoOStlZp+1bZvALsrVL7RHj9MhjJjzzRqYZ8O6s1+BsnosMQIt3Q31ja7iLfD+NhX6cRXaC6dxV80+qCifFskyf8i/SDeyMtZKjynnINSyZugtKQQwjkJ2HPVV7YE3ABcyvcxtzZexEhjAZJGHavvQsXv2B8CDoAV+EGXRJxDGf15uGCvw/Wem6C39mlaJ54FJsOhsp+zx4PiI6dhd68C/D3WQvPTX44u7Q5Eo9uwkFZVcFkXFw6E37Go3D48kFsWOOF3WfPY6bpQzxQyBNRp3bjpE5frNu/Aas9t+DE5WPwmtQR5VWVYdl9LS74DEIZ9VLotzkAVwP9MLkWv6DoVEG3BQdw7fphbPJcDa99F7BzsD5Or9wozFVO+s7J2rsu8Av+gKADrmlNZWfAPuGwWzkUL148Q2fbehmeZDgz8pOFaSeM6KKKvat806voiZ/xdfBHkX7uaKTFb1iEwekYPh12Q7lM8y9u2xrLFBYgfe/iWFxttGtVCMoqJeHStjKi/PbgdA7vNP7q2KfDcCuXur02KGJui877zfCX5wRU+6YqiBK82TwQfZY9gLpjM9SzzvYyl0HGdUjtbNF62ZcuermTfE7kF714WRcb/hjH54/GiltF4dK1Lr8kZaJcGD3WH8SihjHY4toUDpZGMCtbF13GrcXFd/KMoGzZHWsv+GBQGX7R6bcZAVcD4Te5luw36XaH7V6Luy5+CP4QhAOuJaDypfSvbInuay/AZ1AZfgPcD5sDriLQbzKk2UZ0cxkmeivD9chlHPRejbU7L+DkRAsc9FiOK/y+JfniUsz0M8aow/z3DWvgtfsszs80xUPFDJuZ7NyzGaquR3Dl0EZ4rtmCY9f8Mb2WEj7G/Je9TEgOeGDI+K2HVVc3tArxhufF2/BecxO1XfuiND8tSBTuoJW0tKGRzPOqQhJmPN8mKmlBW1u4fZH9nfmuU4nfcAvvmOfJF8ZX0YOBTiKioxOFAVzKe0REC39zyoXbYHEAv2G+6IVxrSxwZ8YfcFn8WP6b7N90kqANGDXqIuyX30BYZCQiPzzGgvqZTqrZbtPXY9K2BZWt0NWtFUK8PXHxtjfW3KwN176l+c2wJJtg5UsicXS3Pz68WI3mhQxgYMA7y87YGhqF03uOfP/3ob8HZVM42Fki+vVrfPqK9VNrMAVeQ+xQpr8nFjf+Fx6DFiDHhkxzoVKoCCw1Q/DqRaam1EQv8CpYGYWLWAkDpFRR8o8xmDhxIiZOWo4V7qVxbd1aXMt22SJ+jlZ89KyJonWHYURrczx/+C+kS8v+Bl8JWtraaWk91/SYeSZKmtDW1IHT0JVYt26dvNtyBAGXF6E5v4Cq6BlAJzEaGbNLBBSyiwLpumggOT6Bb03e5D1Np847XmHejF/3E2XnFel2aKmnID5BYcmST/gUlxpYKkFTWxM6TkOxMnU7123BkYDLWCTd0N8YBYY/gIQnXO36bhhgexGe6+7JE2VSANZ4PUEd10GwV5VIr41pJKFXcC2oMBq0qJL+lETFBq1bVEDS3et4mFqfmU9j3XUSRjgbZzxwqhXQdXC9tO8xKReqjIrF+Wn8fbh8QA5UK3TF4Hqp35FRRqHKFVGcn/zfS5slFofgxp0wFG3YApVTV0q5EJp0aw7FtkIMKvBp3u7ElAmrsT/gX8To1UC7xjZffNIJ6MKxTgm8O+SFpfNmY+bMRfAPUeb7IVj4XY7BGl0njYBz2mPcbCjpos5fPti9e3eGbsf8zrDJEHtI97k26rsNgO1FT6y7Jz8ZJAXwG+gndeA6yB6qEukNS2ZK0K3zF3wyzX/3jvnonLaAWJzacxwJtdujVSHpuqqgePt2qBJzDLtP/jJvX3wVJd06+MsnfXv37PfB/ObRWNRtOPblVPf/C1jiScz8+yHqje2BQqf/xlDPp7leCDKvg7zbgfmdbYQnfF9IFzlh8TjQ1xS6urqyTt/cDq2WfUQH7wOY31hPGCkjZePqcNsQiKDQ57h8YBX+bFEYwb6j0ah6jxwarFEky7SYNEKhNCKP6T8jCd5dDsRzkzKwir2Gc+fO8e4SQo1sYPLmFq6HfUbIjTsIK9oQLdIzLAo16Ybm2TTuk0p+7imCBn9UTA+KdSrBbfFMtM2YgQj5PlIvfrqNMbyvPnyH9cK62M5wb19IlqOlJYap1O1qwkk7EAcPp74bnoQH+/zwrGxN1DCSDfjxVO3QuJ4pLnovk9XSgSgM5+avxIlPqVeLJNzf+DfmHIuCQakaaNV/PNybGOHV09eyX5UM+Y1ydChChUInSXQ4v8paoby9mew6GXdzLbZfze1s+G3Sd/Vw9NX3xbBe6xDb2R3tZdcpaemK/Pe8kIQfxp7zlhh7MTrDJxmiT7rB5PweHP4FI8OUEH9sOvQMxSpXUjj/5k5ZWwe60vF5ANJl+Qq4hM3H4OkBGWqA5ZluE3RtKcHeeUtxPe12IAGPNszG5rAG6NLKXBiWmToqjZyCDh/Xw2PDqywPQ2OPD0cVexfMD1R4lzH2Dk5fjUQpuzKQvpmaOe1lJ9f0qGQIA51ohKbORN0eNZ208PBOCCwdHOHo6IjSShexyvMiPvD0pmrXGPVML8J7mbyWlyjsHOavPIG07JKBOsrVqAqtwAM4nNoox8crmNNzELa8yP7amvc0rQ67mk7QDjyYPu+kB9jn9wxla9bgP5dH9SoaCNx3QCgoEOPNns04nvZZDnXY8+m1Ht5BiKWDbDsdSyvh4ioejEo39Df2FVmF5BWT8AStUhYDhjfB2038AhIrQcT+lfAVdYR7l8JQljbVK4wrxeJiEc9vFg1kZ6JUytDX1wUS4xGflgZVYFPKlifXTJTNYFlYMRRThaqyEg9Qs89YqZTNLJFxMlUoK/EASjZZEpKSAC0drQyJRInfTCs+yFSv7oFDe9xR6t9N+KtdRVial0PrqX7pJXLZkET4YVS1Cmg1ZScCH7/E69dBeBvFF5Z5fXlwXMo2t+IpZRhaV0LVqlUzdFXKWWYq/WGQH5YBGN7kLTbxE1WsJAL7V/pC1NEdXQrzG/McrpLKhtaolGn+VauUg2XqAmKOY/fxKFhbAQEH92P//v04dFcTNkWicHz3CeTLGnnKhrCulLq9Tqhe3wVjVk9Gk5g92HTsW4JdTThP2on1c1fDa3QxBEwZhEV3c3mDO8M6pHZVUC5txytBW5sHQcmJSMxynmZISuRpil/gdRQfvCvpoP2WGCQnJ/MuDoF/O/ILqCWcG5XLsepKKhWD4qjeuj/GL/bFpVvb0I0dxPKtuZdeqtiUgmIyznP6z0CC2E+xEEdewLKRwzF8uLwbufIe9MpaQlfCt1eeYaGVMcNC9wslDxJ+7onjW66nQ5cC8pOw1OufKuwGuqJ6eDBKDRqG6kLjGmLF87Bea3gsaYPnYyqhXLW6qF3JFk02GmPislHCJ4V+Bm3U99iI8YX2o0NJU5haN8C85MZoVTw1z6jDxDQZhwY6oqxTXdRzdkT3w8XhNqie7FeNGr3Qp4gfhjjXRL0eq/GsXBcMqn0f452dUKd2ZdQY+wFNXUrk8jA1M4b4gwNRxNgYxhk6S7T3Cku7v2Cp+5IHtwNdqyM8uBQGDasO+a4WZw0MWTwODiySaZ68s2yHJdv24IJpc7StlPGarFG9LZoaXMSeQ++FIf8/LP4gBhaRrrMJTEyMYVF5BG5WmofNk2oo3Dcl4/jwYlm20bzhQuH3jJTN2mHhmt5IWDkYk05ndzXP7VgYo+0SX4w33opWtrZwqlsX1cuXQr0Fyei/dQ36Fv3CudeoFSb96YirC2fjRKZF6zX1gJe7Pra1tUWJirVQr44TypRph4OlZmG5q/yzXJnT3uNsLjGq9rmkR40a6NWnCPyGOKNmvR5Y/VgbrT2WoPkDNziWr466tSrCrpU3Uvj0xaQL1a4Pj43jUWh/B5Q0NYV1g3lIbtwKadklE4M207G09XOMqVwO1erWhIN9B+zSbIhaOTyY/Jo0rdfaA0va8HlXks67NirZNsFG44lYNsqB/2qAtlNmo+49d1QsVw21qjqg3f7i+MMxvbEn2fTNH8DNkQeRdWuhol0reKc4w0m2ob8x2ZuG5DuRvkysxawGHZM37CBr1MSINV99ls2rY8iqzbwvf5k32pu11EpvfEb8fi1rpl2YDTgivDEs85k9mF6FadlPZNekEyXuZ71MNFkLr4yNYCTu78VMNFuwDIM/P2DTq2gxh0nXhQFJzG+gFdNMa6Qjke3vZcI0W3ixjJNNZ1W0HNik69IFRrKNbfSYSZedCo2+iFno+pZMT60K++ee4pvLqeLZq2PjmJNeMTb0lPwtfNGjmcxZqwKbfCN9/PB1zZmuVV928JMwgG/r3amVmJphF6E/h+3K7Gsan9GyYoOEVkgSz49ktkbN2eqz81gdw2ps5n35ukV7t2Ra39D4TNSOTsxEx4pVqFGT1ayZ3tWws2Saxh3Z9khhxHwix4ZfYn1ZZ0Mt1nz9B2HANzQ+I5V4g82ooc90q05lgVlae5HLW+MzIvZycT2mZdqZ7ci8j8UhbF1zfabXyju9QYlsGp8Rf9jLellpsHJ/Xsx+G0Tv2ZXjgSw07eV1gegpm1tDi5Udd5nJXskXPWIznbVYhck35HlcJvt8lnv6F7FHM52ZVoXJLD3biFnYmmZMx3oY81dsNUZB5MY2TM+kC9up0KiPOHQ9a6mnxqr8c08YkvFcIA5bIz/3pDZAIRCJfrfX6Um+lvSePb11hV2795rF/D+SZlIsi1XMd4lHWH+rYmzISYWByR/Y89tX2ZVbz1h45jz6OYq9uHWV3XgaLjT6lMjeP73Dbj14y2Izn1vIbysp/Bm7ffUqu/Uk9IvXzK/C09brBzfYlat32PMP2VwcsqS97OSWHj+zqBe32NUbTxXSdjwLfXyDXb31hIVl2pik2NgMy0o80p9ZFRvCFLNLZolhT9ita7fY49Acbgr+g6T3T9mtK9fYvdcxWRuK+RzJXty+xm4//yC/lmcjPvQxu3H1FnuSeUN/U/SY+AdgqS+/ataC62AHBHh0x+InDeA6oLz8KUzaE1M5ZZOGaOYci6NrNuChUGVcFOKH5T6PULRJ85/4ZFSRIZp1bAKVo7MxfvtNhES8w6MTi+G66JJCFcAU3FvVCS1GHhC+K6WNona2MFcT4XOyfB+omFqgkEoonj37JOuXkX6rQ5yExET5Xoh/4I0ZO55/Y/E1g/hzQto7Y4pdQrLi4zGG9MPiisEOAfDovhhPGrhigOzr59LDkvnxqRwTf0ZCNvOPT0iGWPbexWmIm87BmcsBCAhI7y6dmIK6Kaex52jaW6L5BxPjc0L6tsaE3MbOSQtxQlwNTeoaCiMJJJ+RqLhfhC4hOYfqUZpV8JeXB5xfLMCgqedybuo80zqkdwmQH1oVWHcdgtZqhzDVfQPufxSOnzgK11e5YcZZU3Qb5gJZDZMcKJu0xaQx1RHi9Q+8s6m6knx9GYa6tEC7sfvxIq31ghSEnFgF33umqFXfQf4kWsUUFoVUEPrsGRRSevZyTf8qMLUoBJXQZ0jPNsowbdAUVaMOYQ0fV17WKsa7Q0Ph7DQR5/m6GTbriCYqRzF7/HbcDInAu0cnsNh1ES59oZaasmkDNKn6CX7rtuBJknxYyitf9KtYBePOfU1zDYT8QBpmsK1UDU4O1jD46Q/r43BqtBNqum7GzTB+/ol4gqMz5+OIZnO0dVb4hoC6CUpWdEa1SqVQSGGwjKoRSlRyRhXbQkLJhibMbB1Ryc5KXmWRFAgahUqhorMzKpWxyLWGSp7xtGVtVwXVnB1R0iRzwuOypL3s5JYeVWFUohKcq9gqpG1tWJStAudKZWCuuDFxpzDaqSZcN99EGL9eRzw5ipnzj0CzeVsoZpfMNM3LoJJTJZS10BGGfD8aZraoVM0JDtYGwmsoClSNUaKiEyqWNMlaG0+gbVEWVZwroUyGDf190SnpB5A2YSKERbDt64YW+ADdLu7omNo0Eg9AFN8xhEopuK5ahmZvJsOpmA3K25VGkTI9cKrkFHhPqZWpSuTPogzLHqvhM74Ero6rh+JFyqHZ5NuoOaYPSvE4Sv4dRnWUqtMYBv59Ub5wCZR3KAtr+z95sDUZIxsLa23SDm4DLHFsYHnY2jmg3/YomLiMwfBiJ9GvbEmUL18CZVyOoOronviGb+3ynR2Dnd1M0t4ZU+yMWngqfEuS7/DUyFDFFn3dWgAfdNHFvWNai1XS1qwUD4scQ8zObjDJZv66Ri2w6t4h7DkjRt02zZD5lRdly1ZoWz0FZ3YfEYbkHyxmJ7qZCNupp49CpRtj4hUbjPTZBPcM3xBkiD/QF6aZ9w3vDBstEcbJSr28O9bNbYTwVYMx3i8yw4OSVBnWIUNnhBae8neOlC27YM2+eXB+NB7ORYrA1t4OpQoXRb2579F89QEsbpEpiM1CBWWG/IO+5hexYPbRLC/Ia1T3wIHd7jDz6w/7wkVQxsEBZa0tYNvjJIpP2YZ5f+gKY5qgndsAWB4biPK2dnDot10YnlVe0r9JOzcMsDyGgeVtYefQDzzb8GTrhpWLG+DJaEcUKWkHu1KFUX7gdVQY0Rc1+PVK2bIHVvuMR4mr41CveBGUazYZt2uOQZ/0DJsVzwtuq5ag0YvxqFKE52G+PlYV3HDPaQwG1iwYF0FCvkwXDSctQce4tehexQbFHFpg6p3KWLB/IZr/Ki0rE/Kr0G2ISUs6Im5td1SxKQaHFlNxp/IC7F/YPOdvFpNfipK02FD4m/zfJSD04T08i5TAoJgd7G2yebrxU4khEqtAVWElks8OR7mWjzDyqT9GptWNj8e7hw/wIlIEPb7eDjaZm/1PQcSTW3gcoQIr+8ooacR/lcTi9d27CP5cCGUdy2R9wkrIV0lB1IuHeBISCxhYw87+e5csJCP830d4HvYJEm0eGNqXgVk2T2xSIp7g1uMIqFjZw6nkF1rHyEv6T4nAk1uPEaFiBfvKJSHNNlKSuGA8vP8KH1XNUNqhLMwV1kMsEkMlY4bF8HIt8WjkU5wZWVQYmA0Jz8OP7uF5jAoKlbJHOQsKCgkhhJCChgJDkgMR7i1sih6B3bBr+yCUk958JjyBV8/GGBk8BIGBU1Dh/1LFlRCSHdG9hWjaIxDddm3HIHmGxROvnmg8MhhDAgMxhTIsIYQQQr6AAkOSI9Hz7RjsMhw7w8xQ1kYPca8f471Ja8zZ4Y1hFb9/PXBCyH8geo7tg10wfGcYzMraQC/uNR6/N0HrOTvgPawiKMcSQggh5EsoMCRfJolD0O0beBSWCE3zcqhcyeb/8PI/ISRvJIgLuo0bj8KQqGmOcpUrwYYyLPmexME47eWDa1HyN4OVlFSgrmeBsnWao2mFQl/52YXcSBBzcxsWrj2FN+p1MXrxIGT6WkImsbjhsw5PSg1AT2dD4OMd7NnxFDZdOqFq6od+v1LKo/1YeeglbFq7w8XuiwvPNxJe+mP7tqO49jwciSr6KFK+Llx6d4KzucLRE4fj2g4v+J57hLBkTVg6NEe/IR1gn8OLYuLwa9jh5Ytz/NyTrGkJh+b9MKSDfab3ypLwYK8nLhl0wKDGxf7Pr8rkEwkv4b99G45ee47wRBXoFymPui690cnZXCGviRF+bQe8fM/xe7VkaFo6oHm/IeiQw8HK9ViJI3B9lzd8zzzC+2QNmJeth84DuqGaefoRy9PxTnqAvZ6XYNBhEBr/7p94+I1825mSFBzKurCuUh/NWzZHg6oUFBLya1OGrnUV1G/eEs0bVKWgkHx/4tc4snAaNl2NlH3kPCbmA4Jv+2JMfQc0W3ib3/p/IzG/Ad60E1fSPjDNJZzGhA6jcFqzFprWKQPj3JKzJAYBXv9g7YUofqvMg7qHOzBt7CRsvfNZ/vtXS8DZZaMwxWMKRi71h9BoeD4mQZT/ONStNhA7wy1QrXlbtK5XFrg6G82rtMGK+6lf4X8D3/610W7pM5hUb4V2TR3w2W8E6rssy/ZbeJI3vuhfux2WPjNB9Vbt0NThM/xG1IfLssey45BKErQJ44ZuwCsdMwoK80AS5Y9xdath4M5wWFRrjrat66EsrmJ28ypos+I+5EdLgje+/VG73VI8M6mOVu2awuGzH0bUd8GybA5WrsdKEoYDQ2qj6T9XoFGpGVo3rQj1qzPwR81+2CV8oDpvx1uCoE3jMHTDK+iY0dHOV6QlhoQQQgghuUq+wEaV0mFtNsUKA6TELHRLe1aoUHe2W3Hw14jfzbqZ2rMJV9O/JiZ6OodV123MVofl8WN/4jdsaQNdVnvBi7TvlYnF/+FDgXFH2IBiZdmwqT2YlVU/duhbt+1XkXyVTbQ3YDVn38/4zTZxGNvZ3YoZt9kg+2ar+P1BNryFOzv0IX3fiZ7NZTV06rBFrzLvTzF7f3A4a+F+iKWPLmLP5tZgOnUWsfTR49hZd1tm6bKFvRN/Zo9W92SNJ578wrf1CrpkdnWiPTOoOZvdz3iwWNjO7szKuA3bID9Y7ODwFsz90Af+i0D0jM2tocPqLHqVPkwm92P1+fYUVlHXmc1Q/Fb15wdsdg09Vv6vK3yt8ni8484yd1tL5rLlHRN/fsRW92zMJn7pQ4bkl0ElhoQQQgj5D5RRqGoV2CQEIyhCXmYQ//Qg5rv3RPvWrdGh71gs9w9KK+GIvrgWc/c8RtS9nZg1Zgp8rp6B53Rf3E8Ix8U1kzFh8npcDNiKaYtOIjglCMfm/Y2/Z+/FU+ms45/i4Hx39GzfGq079MXY5f7Cd3Sz8TEAXh7rcFGo9iptQfvpwflw79kerVt3QN+xy+Gf48RA3Ok9OKHdEj1HdUUznMAe/1jZcEmYP5ZPXYeAGFmvXPI9+HgswKFXfCXjn+DA3OHo3q412vUcg5Xn36WVpEiiL2Lt3D14HHUPO2eNwRTff/nQJLw8tgRj+nRAm1bt0XPEAhx5kV72Kom4Aq/xfeDShv82ajnO/BsA7xk+uJ/2jdJ4PDkwF8O7t0Prdj0xZuV5vEsvukkjenoMJ19VRtfe5TN+s03ZHG16tYD2pRO4kMB7zdpgxdHlaG2SfovIEhKRrKwFrSwtKCvDrM0KHF3eGumjMyQkJkNZSyvt23niV5sw21cPg/7uAktlCWLf3Ma1J+EZShSJAtFTHDv5CpW79kb5jAcL5m16oYX2JZyQHyy0WXEUy1ubpFcBZAlITFaGVpaDlduxkiD0wiU8K9MS7copVCtWLYtObe0RFHABweK8HG8xXm2aDV+9Qfi7iyWUJbF4c/sanoTT0c4P0nM94Sf2QKx2H4qhQ4Vu2DC4jRwPjxV7cfsHJ+iUlwcwtVsjVK9WH33XPxKGfpno4TZMHLEM54UvhCc98MG0iStwXrEqzjcR4d7mvzBs2F/Ykn7l+Y2JEX59KzyGdETTOtXgVK02GrcfgEnrziNY/iVxBR9xb6cHBrZviBpOTqjR0AXD5vvhVZbxFH3FNEk34T12JJaey/xFvXxMlq9cMdn36RduApJx0/tPuI7fonCz820k745g9oiZOBycx3wgeohtE0dgWWpGyoE4/Dq2egxBx6Z1UM2pGmo3bo8Bk9bhfNZEgo/8htdjYHs0rOEEpxoN4TJsPvy+mEgKeBoh+V7ii5d4p2EBK2MViIM2omdDd/jrNUK/Ea7o4hiFTV0aY+RxaR5jiLm2HXPnj0K3XivxIFkDmhoa0NXXgbqSCjR0DWCgrwt1dR3+vyZUlFShpW8AfX1tqImDsLFnQ7j766FRvxFw7eKIqE1d0HjkcZ6DspJ8ugHfxdtxNUbalIIYQRt7oqG7P/Qa9cMI1y5wjNqELo1HQrZaWXzEyd0nodfSBVWNGsDlD2Xef0K2HGVjfYTun4BZu+XfU5WKPbkU4zc/h4bpO2zt0xgjzhig2cDh6Fsjlm97G0y/Js/MLOYats+dj1HdemHlg2RoaKpBErwd4yadgXbd3nBz647KkZvQs81UBEgnET/Fyq6t4HG3GNoOGoT2Zd9gYfce+HvxQTyWxbQSBG/tg8YjzsCg2UAM71sDsXyftJl+jZ9VMxK9fo13BsVRQiHgS6VWujSsk98i6H02Z2lJMHbN3oDQJj3R1jz320ZJ8C7M3hCKJj3bQj56HM4tXIZHTcZj+JdfEiWpRK/x+p0BipdQCPhSqZVGaetkvA16n801laeHXbOxIbQJerY1z/UmP+OxEiHkbSiUrKxhneFlYRUULl4M6u/fIiTb5JHpeMedw8Jlj9Bk/PBc3gkmvySh5JBIfdrIWmuosfIdJrBJkybJuol/DmbtHE2YplVbtvaJQtH6txBHses7V7MdV8IzFu+L37A1fxgwQ+fhbP2eXezIrSjhhy9L8hvIrDQbsZXvpHMTs9crGjFdtdJs1PkM9Q6+XtI55l5Ki2nwfVFqxPnfvKqHiL3a3oOV1C7EqvaaylZv388OHfBl62YOYnWsNJlFs2XsbtoOiGHnJlZhhqZOrP/sjWzPwf1s2+KhrGYhDVZq2DEWLYyV0ddMI2ZBa1swYzMXtlVaReR3IctXYCo2Q9jxHKpiicO3s46mykzZvB87lCgM/Eaf705jlbUc2ZTbecyvSX5sID/WjVa+EwZkJXq1nfUoqc0KVe3Fpq7ezvYfOsB8181kg+pYMU2LZmxZeiJhMecmsiqGpsyp/2y2cc9Btn/bYja0ZiGmUWoYO5ZtIqE0QvIRWVVSTVZ9jC/bt28f7/Yyn9UTWcsShszhzzPsEz+nPp9fi+nWXaxQjTCR+bsWZ6Zdd/O/RezlwjpMXa8BW/JUIY9mV5X04QxWVbcF8xIygej5fFZLty5brFCdMdHflRU37cp2x/GeTFVJxW+Wsga6tdmCF7xP9JzNr6XL6i5WqF6X6M9ci5uyrrKJM4nexbpZlGNjA+TrE8+vt0XNOjNf2eVZxJ7Mq8UM6y1iz2V1ViPZjs4WzH7CVZbwchGrq1+fLX2dupR4dmRAUVaaX0ulcxK9XMjqqOuxBkueMsUzlEiUWvmVr3eYJ2uqW5lNu/uZiR7PYs669diStPmJWYhnM6Zr0JntjOe9opdsUV19Vn/p67Ttij8ygBUtPYJlvhVI3NOdmRQbwrKr0ScOWsrq61Rl0x+kr4eMOIwd/7MqMynVh+16k77fcyIOO87+rGrCSvXZxVJHFz1fxhqaVWez7qducTK7OsGO6bffxvcOyVbiHtbdpBgbkv3BYkvr67Cq0x/I0nk6MQs7/ieralKK9dn1Jj2d5yDrsUpm50eWYvou27Mcl8R9PZmZzTDmn2l1ss6D5/9lDZlZ9Vks/XBfZRPs9Fn7bXS08wMKDBVJb2A1dZjL9kyJN+4CG11OnVkNOsYvb/+B6CGbUVWLOU65neGCwJKO8RtTLdZ0TbgwIG8yBoayISwmOi7TieLryS60hs3Z5HHVmFZxN3b6P96o/9Ki97Fellqs4oQAlvnWIOneXFZH34A1XyOcYGP92WjHyszdX/FWXX4TpGHRnx3Obj99zTTx59hIWx1WeeoNfnrmNx4bhzGXMTvTLq75liwwVGGqqoastVdINhcrEXvMb7J0VFWYyi8ZGEazfb0smVbFCSwgayJhc+voM4Pma4TjFMv8Rzuyyu7+GQI62Q2thgXrn10ioTRC8hNZYMivh9Xbs44dO7JOnbqwngP/ZPN8b7NIWTpMYmfcSjCLPgcVrpdi9npxXaZbbwn/Wx4Y6jjPYo8VL1Z5CAyTzrixEhZ92EGFPCF+vZjVTQ2cvhQYJp1hbiUsWJ+ME7PFdXVZvSWvhQHponZ0YmZlxzIhLuTrd4wNLmbKOmyLlPWKQ9azlqZVmce9z0z8jv9tVovNeyKSrWNxDTNWxsmZOTvLuwpFdJleBx/ZzbYsMNRxZrMUNz7+Ptvk1piVtzJhxsbGzMhIl6mrlZEFpUmn+fU40zYnnx/BShkKgaF0u4prMLMyTmnLc65QhOnqdWA+mW5lpPOyMeLTZRMHf74zlVXSacCWhyicTERBbL9rRWZk3Z6te6h4IsqeKGg/c61oxKzbr2Ppo8fLHgpolunAJs+ezWbLupnMvaEF03DozqbP28auxQijknRJp5mrjRHrnP3BYlMr6bAGyxWvpyIWtN+VVTSyZu3XPcz1XjX7Y/WZ3Z5akek09WTvhSGpYja1Yfp2E9hVhctqtvOIlz5s0WRlOkwWjjXvZrqzhhYazKH7dDZv2zVhRPKryr1OAAF0nNCopgk+PH2EsNR6IwmvcH77MsyaNhUe89fiwM1wpNeAk+D9nVM4/zgGkqQQXN2/BQcD7+Ky3yW8+CRB3MsAHD18BKfuhkPy/g5O+F1FUDwf/uIiDh8+ikvP4+Sz+eIyspJEPMX1y/fxNkP9kQS8Or8dy2ZNw1SP+Vh74CbCv1hVLwHndx1BdO0OGNa/PSqGHcau8wnCbxLEPD4Pv3OPEJ2hlp50e0/A7+ob4R2SeLw8txVLZ07DtNmrse9OJB8jVTb75o5Qj4dv77mtSzFz6hRMm7MKu6+GCvNLJ35/A7tXzsK0f+Zi7cH7iBKF4Mbxi/hX2GUy8S/l85k2DbNX78OdyJyrFCac24/j0dXQZ2j1LN9503AYhEGNlHDh0AlESgfoNsLia4FY2MhQ9rucEnR0NKEkEStso4I8TyPG681zsCWuLSYMrwR13h/96Cz8LvyL2N/hgzIqVmjUzBrnPNfjQeb0lxSANd6PUe2PmtASBqXLPf1Koh/g8Np5+GfaLKzccxMR2R6IL6XJXCScw/7j0ajWZyiqZ00kGDSoEZQuHMIJeSJBo8XXELiwETIccR0daCpJIM5uoZRGSL6jhipDt2D37t3YtcsXW9cvxF9dKsJYdkehBC1tDSTHxytcrxji4xOhpKUt9POx+N/aSkKPVB7uRqTTaCTHI17hHMD4chKVtKCtncsMpONoJPP1yDAx4hOl65u+XnKROLrbHx9erEbzQgYwMOCdZWdsDY3C6T1HZOcY5cId0f+PUOzcehXPdvngplMf9CytAiVNbWjye4ahK9dh3Tp5t+VIAC4vag5NYe6ydUnbeAmCNozCqIv2WH4jDJGRkfjweAHqC1XwVPQMoJMYjehEeb9UyvsIpFUkV9KEtqYOnIauTFveui1HEHB5EZqnLVBOrXxFlJfcwdXbsjqqeLl/FsbNPYw3/MQUcfUaXhZ2REVTYT8m/4tt/Zqg34kyWHRsBwaVzzSzTJL/3YZ+TfrhRJlFOLZjEBRH13fuhT87lpUdq3ihS/zMd6IoCQk8XXym81dWauVRsbwEd67ellUJFr/cj1nj5uLwG35NiLiKay8Lw7GiqZBtkvHvtn5o0u8Eyiw6hh2DyqentWzkfKxUUbxsSaj/ew/3M9xHpuD+3SdQsbVDaaGKac7z0Idzrz/Rsaw0z6ceb36MZYc7gee3b20hmPw0QoBIpHIqMWSf2I5Ohkz7j3VMWqYnfrefDbUzYKYVWrI+Q13ZgA7VmJWOGWsw77pQ/J7I9vcyY0V7z2R/1zBh2kbFWJvZS9jAmo6smJ4K0ylSgTk7V2fNZ1xiSeensabOZZmZmgozLi194leT9fV+kYdlsCwlhllKEMXv2P6hdszAtAJr2Wcocx3QgVWz0mFmDeax65k3MZW0FbYihqyVVxgTi56yebW0mNWAI2mlabFHB7Ki2jVlT0bTJF9mY8tqM+eZD5hIHMYOD3dgBoUcWZv+w9jgzjWYlV5x1n37a9kT3Oz2TdtVL5go7hwb72jIzCu24ts7jA1oX4WZa1qwFqufyKaSEj33Zu2LaDJTxzas35ABrGPdcsyxbStWUasK+0doQUscdpgNdzBghfg4/YcNZp1rWDG94t3Z9tcK65tGxJ7Mqc40rbNWj5D7zO5MrcQ0bf9Mf2qcWfJ9NreWHjPvvIOFKzxo/aLspok7zYaX1mPVZt0XSpOTWeC4skyz6gz2MLtVz0+k+Urbhg3zXcvamFizQX4ZWzMM396RmVsPZHvXtWe6iiWGeUi/4rc7WZ9S2szYviXrO3Qw69GwHCtfqxorpqFQYphbmsylxFD0ZA6rrmnNhmWfSORP2jVt2Z85JxJ2f24tpmfeme3IayIpaGmE5B/J2bVKmtGn/b2ZlVUX5pNa+pR4h82oYcicpt/jPfISQ2npYZBidkg6xYZaW7E+B9Lnm7nEkM+Y9bayYl18UktKEtmdGTWYodN0JrsEfKnEkF/H9/e2YlZdfFj6as1gNQyd2HTFFhg58fuNrK1JefbXlYx5OumsOytp1Jp5C62kJvJ+W5tmrGXlIqzHbuEVENk62rA++94L6xjP7q4YzFy3PpOtk6zEUFrCmbbxn9ntKRWZYfN1TD7bWHbNozYz0JCXGLL408ytpBGrMy2AfeAz+Bx6lk2pa8zUUquSCttl02cfey/MMv7uCjbYdSt7lvm8IA5ne3sVZSb1prOASDETBW1lHa3MWNMp81n3UgbMyeMWP6tw8feYZ3sbZlCmD/N5ntN5LV38PU/W3saAlenjw/IwOkdVSXPHr417e7GiJvXY9IBIfj8WxLZ2tGJmTaew+d1LMQMnD3ZLfrDYPc/2zMagDOvj81x+/L4gt2Ml/rCLdS9szlqsfJRW6pj0hF+7C1uxbjvlr0F99fGmqqT5CgWGirINDMUs6vI/rI6h9J0A6YlduBmz/4tdThtNxF6saMwMjdqzLbLaoNLgx5SpaRVlLRdcFarXcDlVJU08yPqYabG2W1JnmJdlZA0EM/cnB45jZTXt2V/pM2GiFytYY0Mj1j51JpnEHuzLChu2Yl6yK5SIPZtfi2lZ9mUHU6/VyYHsr3KazHHyrbRtiD85hNkYNmWr+YXu87WJzF7LkU28mrrMz+zh7BpMx3YMuyQ7geSwb/jF8M7JcywobcfEs3MjbJlG+fFCfxI7O7w406gwgQWmzppf5A4PKM5U1VIDw8/s2kR7puU4kaUv/iGbXUOH2Y65lM0JUz6+pt1Edi3jfYFAzF4tqss0rQYyv+xiAvF7dnJ0JX7D34qtzXIFzkG20wjHtlh/djCtNuHvFhhKA6so5u9akhm3XM/epuWJJ2x+bUNW5Z+7LGZrO6atEBjmnn6T2eWxZXgaGcMupKZPvn8P9LNhKmrpgWGuaTKXwFA2vaYdm5h9ImHiV4tYXU0rNjD7RMLenxzNKumZs1Zr5TeGuSqIaYTkH3kIDJnoFds1rAqzMLNlznVqsYpFC7ESLeexy59kP2YfGLI4FjC1GitkXo7VqNudrXokyhoY8mlf7RrGqliYMVvnOqxWxaKsUImWbJ58xjzvfCkwlK7WLjasigUzs3VmdWpVZEULlWAt513moZUiMQv1asWMymTzQDDRnw2zMWTN1wnnCmmVvspqTLWEGzuddpoS1tHSgpWpVofVdLRhRSv2ZZueyGeWNTDks3mwirUqYsSKVa7NalWyZ3Xdp7N+5eyE9xvF7MOFucylggUzMDRhhcv+wf6a3pvZSquECsuUb5clsyhTjdWp6chsilZkfTc9yeaax+cWdZkt7mzPzExsWKVadVnlolpMSUmVFe+ymT0VJvh8fRJzUFNiajqGzMjISKEzYWXcjmdqd+Azuz7JgakpqTEdfm7OML5JGeZ2PLvzIgWGeSKOYpcXd2b2ZibMplItVrdyUaalpMRUi3dhm9MPFpvkoMaU1HT4/WHG/W9Sxo1l3P15OVZi9u7oRNaAp0crhxqsTg0HVsS0OGsy5bjsUybfdLwpMMxXKDBUJLwLZWhTgTk6Oso6hzJWTF+rEKs6aBuTndfFr9mSelqshPu5DCdd2XsOWiWY+1lpppAGPyZMrew4dllxpLwGhnlaRm6BoZi9XlKPaZVwZ+cyzoQtriud91lhgKJPbF8vC2bYylt4cslX+dkCVlvLnPXcm/oSgIg9nluT31SPYhdkqxHD9va0ZGZddrBIvsygpfWZZpHObKX/WXb2rLzz9+zGimnWFy6EOewbqcQ3LHDverZk7iw2Y8Z0NrlDWaZm1F3+m+gFW1Bbi5UadSHDPknyd2XWGkJgKHshW5MV6byS+QvLPnvWn3l2K8Y062e+CZH6zO5Oq8w004LWzOTf5tEsNpSdynyuE71lh0ZUYYYGVdjYU5kaE8pJTtPEnmTDShqwugufyG5m5H63wLAoG8p3oujhbFZdvzKbKgRtiedHMVvT1sw7RMziNrdlWmmBYR7Sr/RvWT45m+FGRZ4mUgPDPKTJ3AJD6TuLmrZsTPaJRP59L81isu3LSMTeHhrBqhgasCpjT+WtRLmgphHyW0p6/5TdunKN3Xsdo5Buv+Qzi3pxi1298ZSFZ85OipLes6e3rrBr916zmK9O+0ns/dNb7Mq1e+z110+cd/Gh7PGNq+zWk7C8BT+JfJvu3GIP3sZmuZ4kxcZmOMclHunPrLI0IhPPQh/fYFdvPWFheVhgctQrdv96ILty4y7zm+jETB1GMf+8tXtHfrbkKPbq/nUWeOUGu+s3kTmZOrBRP/pgiWJYEF/m1esP2JtPdIEpSPJQq7+gUUOF7jMwZ84czJk7D4vX7sPV18G4vq4Hykjr/LM4xMYDuga6GV6JUNbXhy4SER+fXllexaYUbL+lqd6vWEbOGOLkM4FuxplAXxdIjOe/ZRZzHLuPR8HaCgg4uB/79+/HobuasCkSheO7T0D+ySYV2Pbsi3rhe7HZPw6S8IPYdkwD7Qe0gTEkiP0UC3HkBSwbORzDh8u7kSvvQa+sJXQlOe8bSYQfRlWrgFZTdiLw8Uu8fh2Et1FJfDNS20ZOQhLv1dLRyrBPlHR1099TkcTiU6wYkReWYaSw7OHDR2LlPT2UtdSFwuIFqrC0ModyeDCCs/2UlQjBb8PAzK1QWLHp5pSX8B3cBN02A/18jmBe40K5vx7zhWkS/Lzg8yoZD5b+gVLFi6O4rCuDjutfIOXBEjQrVQa9t8leYMvHGCT8UKqUHYDhTd5i08oTiJVEYP9KX4g6uqNLYWVIJIov4OUh/UriEBcnHUWPp8p0KobGMEh7dynvaTInqpZWMFcOR3D2iQSi4LcIY+awyphI8NJ3MJrIDziOzGuMQrklkgKfRsjvRsPMFpWqOcHB2iBDHs2ZKoxKVIJzFVsUyvK9PAUaZrCtVA1ODtYwyNuMFWjAzLYSqjk5wPrrJ847bQuUreKMSmXMkfkNxmxp8m1yrAQ7q4zXfcSdwminmnDdfBNh/LwX8eQoZs4/As3mbeGcYR9pw6JsFThXKgPzPCxQ3cgG9lWro1qVCmg+/QBOLm4Jw4TML4CTX4K6EWzsq6J6tSqo0Hw6DpxcjJaGCV9sc+I/UzFAMb5M56p2KKr3A/MJ+eXkdqtS8CipwNSuMZo3b47mfzRD43rOKGumcPZVKgRzEyV8CA3LkClF797hPUxgbqZwc6iskuliqAQlvsdZWrCTg69ZRo6UUMjcBEofQhGWcSZ49x4wMTcTBqSLPr4bJxMKgd3zxqKFC7FQ2i3egRfqpog7uRt+UfLxlK06on9LEQ5vPYyHe7bhbOFuGNBAeiVShqmZKdTN2sPz5gM8eKDQ3fbBQBuFvZFp30QeWAnvyHbYcOUUdm7ygpfXGoyuYyT8yqlYoAi/8X73/CXSQ1oJou4/xNvU3alsCjNTdZi198RNxWXz7rbPQCguPpVxzZqwSwqA3yn5q/zxgTPQ1K4G3A+FQ5J8ByfOhqBwtVoomTpt0kN49WyCfvsNMWKvHxa2sMg9E+UyjWaj6TgZcBZHd+/Ajh2p3TbMbFsEaiW7YvH2rfi7qYEwdj4lq53A/1c2Q4cR3aC5bxW2XdgIz1PW6O/WQNbwjzhDYJiH9MuPdyGeTyJCMjZSlPjqpcLHnb8iTebEuCZq2iUhwO+UvMGH+EDMaGqHGu6HEC5Jxp0TZxFSuBpqpScSPPTqiSb99sNwxF74LWwBi9wSCaURQkh2dBti0pKOiFvbHVVsisGhxVTcqbwA+xc2x3fL8aqFUalxY1Sxysu9Bfn/UkXhSo3RuIoV/4uQH0AoOSRS2b5jmJmIPVtcn+lZtGKrHghNsnx+yw4OLsu0bEezC7JqcPLqkpotvDJ9gyycebXUZYVk1S4VZHnHMC/LkNaA+/I7hqJni1l9PQvWatUDofGYz+ztwcGsrJYtG506kzQf2FYXY2bYfgv/KyPx29WsqW7G9xITzwxnJQ0rsWp2Bqz2/Kdp1YRETxexenpWrOPGZ0LVFxELOTiEOVWdwM7JNi/7fRO+vgXTtejKfIW35+Pur2EdS+sxDcMusn5plcB3W1yYma4jG7LtBnsbHsIeHl/A2pc1YFpp7xiK2NNF9ZieVUe28ZlQx0YUwg4OcWJVJ5zLvjqP+C3b1qkw0yzdja27HcXE4ih20r0c07JqzUb2r8T0DeuzRan19BLvsOUtrJiacS022T+ExcbFsbi0Lp4lfs5cAYj7lmlkfrOqpFqF2YDUd/BET9nCuvrM3NKcFWq/WXhvgbGo9c0VqpLy0XJNv8JnLsxasJUP5UdXHHmBTa5jzNQV3jHMNU3m+rkKMXu7rRMrrFmadVt3m0WJxSzqpDsrp2XFWo/szyrpG7L6ix4KeSCR3VneglmpGbNak/1ZSKzi8Y5j8Ymfs1QTozRCCCGEkF8BBYaK8hQYckkP2YY+FZiRljGzLleelTLXYbrFW7LZF3lgIRshp8BQzD74jWQV9HWYeenyzL7vNvngLIEhl+sycg8M+RD2cEMfVsFIixlbl2PlS5kzHd3irOXsi/zmVhhFIH6/ibU1NGBtNqa2pKZA/IataqzDDFpvEAZwn2+zqRXVmLJBK+aVtjypJHZ/fU9mb6jNTEuUZ+VLmjGDQpXZgC2pL8Jnv2/Ekf5sgrMx0zKyYeXKFWdWpVuxuauHMVvj1MCQE4cx/xntWUVLHaamrs+KVO3OFqwbwRy0qjCP1C+pJt1n63vaM0NtU1aifHlW0syAFao8gG0RXvzPVsw1tqpPVWahqcVMbcoxO1tzpqUEpqTpwFyPhAg3/Hzxb5ezBuqQlntl06mxCgoN8qT6lmnkfrfA0JINOJL+MOLDzq7MXK0kG34mPc1/WPsH08zwHcM8pN/Ya2xhi6JMU8OElShbihW2sGc95//J6morfscwlzSZa2AoFcOurerDqlpoMi1TnkbtbJm5lhKDkiZzcD3CQtITCVveQD2bYy3v1CpMZrcyHXBKI4QQQgj5FShJ/+E3IOQbJIQ+xL1nkZAYFIOdvU2e33VIiXiCW48joGJlD6eSCtUls/Gty8ggIRQP7z1DpMQAxezsYfMj36sQSOKC8fD+K3xUNUNph7Iw//InkOQksXh99y6CPxdCWccy2bxjIoZIrAJVhdVPPjsc5Vo+wsin/hhZNLXynQRxwQ9x/9VHqJqVhkNZ8y9+0yeVODYYjx+9RmSSCnRxBVM6eyBy6Amc8cj6jUPyE+WafpPx/vFt/BulgSJ2FVDcMPv0/U1pMjNxLIIfP8LryCSo6AJXpnSGR+RQnDjjkfUbh4QQQggh+QgFhiSfEOHewqboEdgNu7YPQjnpTX3CE3j1bIyRwUMQGDgFFb5rhXsJwi5tw857hmjSv02Gj/USkkoSdgnbdt6DYZP+aEOJhBBCCCH5GAWGJN8QPd+OwS7DsTPMDGVt9BD3+jHem7TGnB3eGFaRimsIIYQQQgj5VhQYkvxFEoeg2zfwKCwRmublULnSN1avJYQQQgghhKShwJAQQgghhBBCCrhcP8FGCCGEEEIIIeT3RoEhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAUeBISGEEEIIIYQUcBQYEkIIIYQQQkgBR4EhIYQQQgghhBRwFBgSQgghhBBCSAFHgSEhhBBCCCGEFHAUGBJCCCGEEEJIAafEOOFv8jXE4bi2fTW8D13Go+AoJKnoo0j5OugwdAS6VzX5uRF3ciBWj92Me5+FfihBWVULxjZV0apnZ1S3UBWG/0gSvDsyF3PvOGDc361RlB45FDyydOgL1d4LMNhJXRiYSdID+MzZjsiGo+Fez0wYmDvR3U2Y6BWP9vPcUFNbGEgIIYQQQr4bCgy/hfg1tvduhCFnLdDVtS8a25tDPe41ruxahdVn1NB311ksb1HouwSHkugb2OP7HNYdO6NaoRzmGLsJbcxcEdRmJFqXVpEP+xyNxyd8cTT6D2y8vBXdrH50pCbCvX+qofqBlrh8Yzoq/oxYlPxaZOlwONS8w7G3e/bRmyRoJZraj8Gbgf74d0ldYWjukg70RpFukZgXehQDDIWBhJBfmBjh17ZjtfchXH4UjKgkFegXKY86LkMwoocTTGSXpGQErh4LX9XeWDDYCZkfJ8WcW4IpRwyxYmE/YYh8/M3pT0EVKEGr6kAsGVhF6P85kgNXY+zme8hujaBsiFpuM9HLDrjt/Rc2xLXFzJH1YCD8LCfB+xMLMfOcFYbN6IHy0mtn5oe9SkpQUdeHuW11tO3aBo4mwnX+/0Acfg3bV3vj0OVHCI5Kgop+EZSv0wFDR3RHVflBlcmyX5SUoaplDJuqrdCzc3WkPa/OYVvNSjmjTZd2qGT2/9tWOQmizizBtJNmWDG3l3xQHtY5NtATU33i0XLqGDTOdO8meuoLjxX/ovLYSWhv8xO3T3Qb3n9tQFzbmRhZL2MqhOQ9TiyciXNWwzCnR3lhWDTu+C7Fyp0X8fBdLJT0isC+UW+MGd0eZdMu8ZnypHRfqOnAyKosarbqgD/sjH5+1URxEA7Ono9jIWJhQGaqKNttFkZl3gffkejhNkxZG4k/ZozED1zMD/HTj9cv5w/T3LtMPh6ahnH7DTH6wCl4TR6Eru3awKXnCMw/cAZefctB+3MCvle0zUKPY8Gfc3E0RCIMyYkm7DtPw8yZM+XdvFXYfXIJmn/aB6/9ofzURsjXuXL4Va7d11K2Ho6jb8Nxe2Heg0JCSH4jxuvtvVGjwTj4JdvDZdhETJs8El0cPmLP8AaoP+YEomQXpRQ8Pe4F7xPPIJJNp0iC+PuHsX7jaaFfSjr+emy4+AFGpqYwzdQZ62kI4/08KU+Pw2tLIKKNsq6PqYkRdNWUpGPhxemNWH/4ARKyXIwZYm7vx/qt5/Em9T425SmOr9+Aix+MhPmYwEAtGjfXDED1Kj2x9XVON7w/lvj1dvSu0RATTolRsZMbJk6dCNd2pRHuOxT1642AX0T6xmXZLybG0El+jG3u9VGtzw6k3dJku60xuOM9BDUrd8C6p1lTxs/26e4hvi3nhT4uD+usZ28L0cmpcJt5HnHCZDKSEGyfOAqezwvBsehPDnpTXuD0xvU4/CAh6z0hi8Ht/eux9fwbYUACrng0RYOxZ6Fepw/GTZ2MER1tEbKhJ+q2XoQ7ScJomfMk3xeGWiKEXlqJvk7l0Xj6BURnWdh/t2fPHrx9+1boy0RJDdqGJvJjwzvtt6fgnSGPmkBfI2/hj7RwZpenL64qpO28EL85j63rD+NB1gz/y6MSw2wCvyyOfxD+kErAgd426PZ2Mp76j0CxPKSthFfnsf/QJfwbKYKOlSMatW+FKmaqPMXF4PHFy3hfqAbqlld4qiJ5jzunbuKjjg4+PdqEsSMuwmnRInSx1kYx50ZwNMu0UFlJzRjobXuH7R00hYFc8lkML9sCNwbdRsDfZSE/BSXg1fn9OHTpX0SKdGDl2AjtW1WBdHVkpMs+/RjqVevA6v1J7D1yHUHxOijZoCM617Xm4WcqCaIfHMWuozfxTmQKhz86oNThVqhJJYa/jbwEftVbFxf+4vJQYghJBO6duY6E0o1Q3Vp6EyfB+zun8Vi9KupYvcfJvUdwPSgeOiUboGPnurAWElzWEkMxwu6cwY0IMzg1coS5NEvEv8S5fYdw6Xk0lM0d0aJLO1RMfYItS9dPoOFUB8Xjr+PY6TAUb9sWFQ1SEHr1APb4P0SESB8l63dEl3qK6ZyQAu6rr5Hcx/3oU64H7vbxR8CcmtARBkvze9huV/Q5VhPL1/VGGdVYbGpjhuFq3gjf2x0ZzxoShKxojJL/FEZS5DZh2JfG/w5uS4O4XFTKeMsUu6kNzMboYdu77VC8/GaUgD3drdAzfCZenXSDZYZLuBhP59aG40oHHHixDn9IT4s5nUtj/DCoYnsEdDmPO/OqZylh/RpKC4XSry9gY7cKf0l9xP4+5dDjwQCcuzgDzgqrJQnxxYhRt9Bk4Ry0tZbfaWS/XyQI39IBZYZ8woznpzBcWpMpp22Nv4gxTo2xq/ZBPF/3x386J4u9jgh/5UxlYCvhr8wkeL2kAcotKI3Ed17yQXla56b4tKc3Kvd/jmGXLmBSBfnRijk2BFW63kX/C3yY4385gsCyAYoPTbI30ruR8BeXsAfdrXoifOYrnHSzzFgyJH6KubUdsdLhAN7y/Y0kfq0t0RMfZv+Lg30LCSMBohcbMXzKG3RcPAWNLaRzyClPihG0vTtq97+DDifvYmm973dVnThxIubOnQszMzNcu3YN1tbWwi/ZkeDdyiYoMdUC27+YR7MnfjQT1avuQfPLNzD9K25sk48NQkmXV5j48iTcMmb4X17+WttfgTgYT57Fwrycvfxm9IskCD0wDM6VOmL+qWcIjwzGtY3DUc+hKebfSOB7XxWvtg1Fy0Hr8UzhAWDK1YXo5vIPjl3ehrmrzyBUFIbz62Zj5qwlOPwsr0/PUvDm6Dac/FAWTRqVkAeFklAcGOaMSh3n49SzcEQGX8PG4fXg0HQ+pKsjkxKIxT26YuKUQWjUaQH8n4UiKHA93BvXQM+twcJI/IK9qz+cq/XFyotBCH9zBZ69GmM4vznIf89GyE/1+QZW9O2AyUeihAEpCFzcA10nTsGgRp2wwP8ZQoMCsd69MWr03IrgbBOUBFFnJ6FVg/7weqUOQ54PJe+PwL1GZXRedBavIsJwd9sI1HXqBZ8gIWNJ03XPXpi7agoaOjbEgCkbcTkyBa82dIVTCw8cfxGBiBfHMbttFTRfeC+b0gtCSF4lnN2PY9HO6Du0ukJQKKUMi05rcGKDNCgUBpG8M6yD2o7KCHr2Ivuqqz9SwlnsPxaN6n0GoapCLCSlbNUVK3fPTwsKc6YMg6JWMEQ8PsXmUiah44RGNU3w4ekjhOWXG4sM66wMs/YzMbXuCyz9ezNkhbzJ17F48g5oDlyAUf8xKPzhxLH4FK8EdQ01YYCcasl+WOMzTQgKv0QF1l0mYYB9EPb6KJS2/kfSoHD+/Pmyv6OiolCzZk0EBQXJ+r+NtLBkO5bNmoapHvOx9sBNhAs3AAkvL8Pv0gt8ksThZcBRHD5yCnfDUxMjn+7cViydORVTps3Bqt1XEZoi/JTPUWD4tdgnfIoD9Az0hBI4LuElAo4exuHDQud3DcHShJVyDUsmboLSkEMIPLIJnqu8sCfgAuZWuI25s/ciArpoPKAbrG/5YNu91FvRBJzfvAdhtfvBdex6XPAZhDLqpdBvcwCuBvphcq0cTiZ8vQ67lUPx4sVlnU0Rc9h23g+zvzwxoZp8mpRrSzBxkxKGHArEkU2eWOW1BwEX5qLC7bmYvTdCNo6MJALHzuph3gV/+Kz1xCa/s1jaPBFHNx2U/55yFUun+kJ96AG+XRvhuXYbTp2bDdv3IRQYkm8gQcSxs9CbdwH+PmvhuckPZ5c2R+LRTTgYmjVFJd1fie7dN0D3r73YNrgcNHgYd3PZRHgru+LI5YPwXr0WOy+cxESLg/BYfoWHngJJGHavvQsXv2B8CDoA1xIfcWr3Sej0XYf9G1bDc8sJXD7mhUkdy4PuWQn5VmIEP3mGWHM7OOR680i+ijgUYREMBsaG6fcfP4k4+AmexZqjnL35t984przB0W0n8aFsEzQqkdsWfEbsp0SoaOtBJ98ko0zrrGKD/nP/RJmLM+FxJBzP1/+NVZEdMPvvWpkemPyCtOqiTWM1HJ7YDX9vOo2H4Wl1R/NO1RZOFY0Q8eShMOC/SQ0KJRL5fYFIJEJ4ePi3B4dfLCyR4OOVzTkUzsTj/ISaqNx1MU4/j0BkyHVsdK+Pyu098fT/U8v7u6Kz9lfThDqPs1KSU9KCIEnkJWyY4QEPDw/8M24QOnWYAf94aZq7gmtBhdGgRZX04nV+omjdogKS7l7Hw2RA3akf+lR+jl1bAsF7gY/HseVQApr165KnaqpplHRR5y8f7N69W97t2Q+f+c0Rvagbhu97z9dVgtAr1xBUuAFaVEl/3Kdi0xotKiTh7nXFjKuKCl0Ho56RsALKhVC5YnEg8r2sV7pd199YoVFrZx7ayimb/YEeLYpQgiLfRLVCVwyul1qdWhmFKldEcUTifdrTOTlJyC4M7eCB8O7bsXu8kP4k73A58DlMylgh9to5nDvHu0uhMLIxwZtb19OfNjPAuuskjHA2FpZjgAo8Xb/dOQUTVu9HwL8x0KvRDo1tKCwk5NsxfJI/PYV+nqIXhsQTo1FeeKiZ3pVEzelXsim9Z0i6NAvN6tVDPcWu8XgciRVG+cnYp8NwK5d5/W3RetkTHiZ/O8nnRMTHx8u62PDHOD5/NFbcKgqXrnV/enV39ukT4qAHA730g5rwMgBHUx+I887vWmqtIrmM+8UGRcxt0Xm/Gf7ynADheXUOJIgOXIzVp8So1qwBjIWhv7bs11nVfgTmDTXAnr86oNec+6gzzQOtFRrp+WUpF0aP9QexqGEMtrg2hYOlEczK1kWXcWtx8V3WXJk9ZRgZ6UMp9qPQ/+3+/vvvDEFhqtTgsEaNGnjzJvX9yLz5cmFJJCy7r82hcEYHVbotwIFr13GYT7faax8u7BwM/dMrsfFG/i82pPv4r6VaGMUsVRAeHJxWEqFctDe8r9zAjRs3ELCoJYyF1xRYXCzi+a2rga7iblaGvj6/nU3kJ3tpTQoVW/TsWw/hezfDP06C8IPbcEyjPQa0+dpToTIMrSuhatWqss6pen24jFmNyU1isGfTMXzkF9O4WB6t6hog4+roQ746/Lc0yjCzLJyh1ERVVRlKEnnVD0lcHL9A8O1SuEBIqw0YGhsgD29oEJKFspklCmdMcFBWkoAp3lWJn2BV1yHwec1gYGEG/dR0LInFp1gxIi8sw8jhwzFc1o3Eynt6KGupCyHZciqwKWWr8F6OOqp7HMIe91L4d9NfaFfREublWmOqH5V8E/JfaMqfniIljxlJo8Zo+KQ+1EzrdmHdQIdsS8ZUSzTFoKFDMVSxG9wC5X9+2zMySrp18JdP5vXfgfmdbYT1/4ZbLRaPA31NoaurK+v0ze3QatlHdPA+gPmN9YSRfiJNdX7GTEFy2kGVIPLSBszwkD4U/wfjBnVChxn+wm9ymffLnv0+mN88Gou6Dce+9wqJgyXhzKQaqFixoqyrULYYbBqtQmInT3i6lgVhE5wAAD3zSURBVPrppaN5kud11katCbPQOekK7hUfjdm9iv3/bry/csHKxtXhtiEQQaHPcfnAKvzZojCCfUejUfUeeWwAiSE5id8pa/y3xxjSplCWLl2aJShMJQ0OQ0ND4efnJwzJi68pLMlK17EOSrw7BK+l8zB75kws8g+BsiQUwW/z/93D/y195l+GqFXHEckBfjgVLQxKk4KHgTfwQUgXSoXMYaL0AaFhik9XRHj37j1gYi40+KIMq4790VJ0GFsPP8SebWdRuNsANEhNp0pKfAyW8QY5z1SgzI+wmGcaCQ/ZCpmbQOlDKDKuzjvIVyfjN+WU+HJzomxaiG9XBEIyVKhOxKuX7/7T01FSgPH0lutDBfFbxFVYjtNeTfBiem9MOhcjH65sCjNTdZi198TNBw/wQKG77TMQiq2BK6tkusVQL47m49fhyLVniPjwFDtav8fSYTNxRlZ8Twj5eqqwKGIB5fdv8CZP+Yhf4/SLoaLwUDO9qwL7wjrZnBeUoFrYCR27dUM3xa5zPZT4YinUD6RsCOtKWde/nGXqDbEStLX5RT05EYlZXq1jSEpM4vGDDnQUN1ZJB+23xCA5OZl3cQj82xFqsIRzo3Lfv9GdPFAtXAyWKuEIDk57JI6ivb1x5Yb0oXgAFrU0znqsMuwXJ1Sv74IxqyejScwebDqmWIqkhgrdZ2DOnDmYM3ceFq/dh6uvg3F9XQ+U+X8d0zQMEjG/s1HL+K7dV62zgQPsbVRhUNYBJf6fFVKUtHk6lCbDRL5VmfBAV54Ms1ZyVTEojuqt+2P8Yl9curUN3dhBLN+ah9JwSQyevQiHZrESwoBvI70fPXXqFDQ1NbO9N1VVVUWXLl0wePBgYUhefE1hSSaSCPiNqoYKraZgZ+BjvHz9GkFvo5DE5ynOIXjNTygw/GoqKN1nNDqo7MF4t/W4k9YObxJeHZwA901voC6kW2WThmjmHIujazbgoZDGRCF+WO7zCEWbNIdD6gnCqCUGdNDDiQWDsPqaPXr1rZxWWqdiaoFCKqF49uyTMCQnPEF+TkirdhIfE4LbOydh4QkxqjWpy8NZZZg0bAbn2KNYs+Eh5KsjQojfcvg8KoomzR1kQ/JC2bQ+GlX6hKOeG/FI1miNBFEX52P58dzWkRQEitWf0rsEJOe19klO1Bti/IpeqNNzNdb2ToZnP3fsfsfzHw8MGzStiqhDa7DjuXAnKn6HQ0Od4TTxPFLbVcoi5R5WdWqBkQeC5KX/2kVhZ2sONdFnJGe5ahJC8sq4Vi04JAfA72RqI1MK4m9i99bLCC9QTxFVUc6uNJSfXMe1zLXqJOG4dv0l1Ms4oGymoEFJRQ3q6uq804HzmCnopHoYsxZezvmc9iMZ1kIdx2QE+J1C1mfiDxF4I4+Nz6ko87sRMUQihbGVVGBq1xjNmzdH8z+aoXE9Z5Q1+z8V/2YhQtDrd2DmRYR+wS+9zjlQLQe70sp4cv0asibDa7j+Uh1lHMrKB4jDcfXElSwN/ygb26N8UWUeVH3KNTAUv9wB3wB11OL3oP9VLX5O8ff3h4aGRobgUBoUdujQAT4+PlCWloTkWR4LS/iyshTORB7ASu9ItNtwBad2boKXlxfWjK4DI+Hn/I4Cw2+gbNERnoeWo+6LqahhZY4S5cqjtFUR1Joehd6LXdNP7iql4LpqGZq9mQynYjYozy8MRcr0wKmSU+A9pZbCOwKaqDOgB2weXMfbOn3Rs5RCqYZJO7gNsMSxgeVha+eAftuzudBKsRjs7GYiVDvRg36h0mg88QpsRvpgk7utrFqDSilXrFrWDG8mO6GYTXl+giiCMj1OoeQUb0yp9RVF/Spl4brEA1Xvj0XlYiVRrjS/oXZ9jdb9qiPzMzVSwGSq/pTeGaLRkhfCSN+K31BIz1jKJmg+fxPGFjoEt/6eeCxSga3bSixu8ASjHYugpJ0dShUuj4HXK2BE3xo5P11XL4U6jQ3g37c8CpcoD4ey1rD/8wkaTB6Jxj/7BR5CfiMqZfpiVFtl7B43BKuuR6bdQIqjbmLtoO7oN3ktLkXmKYzIH/hd4+eEzA/DhAdiso1XgXXXIWitdghT3Tfg/kdh28VRuL7KDTPOmqLbMBdk+g56BsombTFpTHWEeP0D7xf/h6hapTT6jO4AlT3j4bb+Tvq36ZJe4eAEd2x6o561xDDTfokJuY2dkxbihLgamtSVfXfoFyTCy8sX8UJ4mB93by0W7gmDfYuW8gH5mYo1ug5pDbVDU+G+4T7Sk+F1rHKbgbOm3TDMRf5piuTryzDUpQXajd2PF2lPIlIQcmIVfO+ZolZ9h4yfS5F8lpWySY9zXHQIHhxfgYEd/8Ftu9GY2t1SGOm/UQwOpb49KJTKW2FJ9oUz0hpOYiQlJsofhsQ/gPeMHXj+m0RU9B3D/0SEmNcP8Tg4FqpmtqhQxgzZPy9KQOjDe3jGL4QGxexgb2OgUP88L1IQ8eQWHkeowMq+Mkoafd3UWSSE4uG9Z4iUGKCYnT1sDL5xfsnv8fj2v4jSKAK7CsVh+B9Xi5D/RoK44Ie4/+ojz4+leaBnnrcGGuLf4eGDF4gU6fH84AAbSsiEpPuW7xhKfeRB4BhXePjcQ7K5NSy0kvE+KAxqFXpg5tqlGOAobTrq9/iOYaF+h+WNx2WhjoYrXuHU8ML8NlSC6Csr4T5sBvY+V0NRayNIIl7jnaojes1ci8X9HNJbqszxO3nnMLJyM+yvvRt3vdv8pxKKr/+OoVQc7niNwpAp23FfZAnrQir4FB4Pi1ZTMd7KCwPuuSH2cD/ZmFn2i5IyVDUNUdShIXpNWYgprazlNaPy8v3b/+irvmOYFIh/6rfEvCfaKGqhhsigaBRqPQs7NrqhUuoB+tp1lrzGkgblsKD0Xrz0avHdGg766u8YSkmicWWlO4bN2IvnakVhbSRBxOt3UHXsxfPlYvRzSN1IEYL8ZsB9zHKcCtNBsaJGUPoUguBP5mg2YS3Wj6sLeRs60jxZCP0Opx5pJSiracLQqjxqtR2KyVP7w9n4+0ZMAQEBqF27Njp27IidO3fmEhR+6TuGyXi0cQi6/bkLb/VtYKEWhaAwbdT/ewu2jq8NWfuLkkgcG9MQXb3ew9y6EGr9fR4buwGnJzVH52XPoG9jwfeLCHbuo1F0w2REzQyGbyftfP0dQwoMCSGEEPJDSOJC8PjRS0QkqsDIpjzsrX/+pxZ+LSmIevEQT0JiAQNr2Nlb41ufzf7fiGLw+uFjBMeqwsy2Asr86lUov5YkDqFPH+NFhAgGxR1gV1T396telxKFFw+fQJ4M7Xi+zKnAIhnh/z7C87BPkGhbwNa+DMx+gRo1SUlJWaqVfrNcC0uyK5yRIPb1XdwN/oxCZR1RptDvkwcoMCSEEEIIIYSQAu63ewhCCCGEEEIIIeTrUGBICCGEEEIIIQUcBYaEEEIIIYQQUsBRYEgIIYQQQgghBRwFhoQQQgghhBBSwFFgSAghhBBCCCEFHH2u4hskB67G2M338Fnoz0DZELXcZqKXHXDb+y9siGuLmSPrwUD4WU6C9ycWYuY5Kwyb0QPlVbPOU0lJBer65rCt3hZd2zjCJIfvHMmm81VF7wWD4aQuDOTE4dewfbU3Dl1+hOCoJKjoF0H5Oh0wdER3VJV/lTQHYoRf247V3odw+VEwopJUoF+kPOq4DMGIHk7CB02/I8k7HJk7F3ccxmFy66JA0gP4zNmOyIaj4V7PTBiJ5B88/Vz3gafXQQTw9BOdrAr9wrZwatYLw/o1hHVu3z8S3cWmiV6Ibz8PbjV/zMeO0yQHYvVYX6j2XoDBGTMPrm1fDe9Dl/EoOApJKvooUr4OOgwdge5VTb78NC2HaV2GjEAPp1ym/QaSd0cwd+4dOIz7G62LKvPs44M52yPRcLQb6pnRcz9CCCGE5B3dOXyDlKfH4bUlENFGpjA1zdSZGEFXTfrBzRS8OL0R6w8/QIJEPl06hpjb+7F+63m8EcuHSOe5fsNFfBDmaWJiALXom1gzoDqq9NyK18J4mcnWxfsEnomEAZz49Xb0rtEQE06JUbGTGyZOnQjXdqUR7jsU9euNgF9ElhUSiPF6e2/UaDAOfsn2cBk2EdMmj0QXh4/YM7wB6o85gaicJv1Wkg+4sdcLe65Hynvfn8OGxYuw4sATWb80iI6+sQuevleR42qTXwRPPz59ULP+nziSaIf2PP1MnTQCXZ3UcHlWS1RrvQR3k4VROUn0Dezy9MVVxQMreoUzG73g9zhFGPADpTzFcS9vnMiYebC9dw00nHAK4oqd4DZxKia6tkPpcF8MrV8PI/wieIrMgTBtg3F+SLZ3wbCJ0zB5ZBc4fNyD4Q3qY8yJqJyn/UaSDzew12sPrkdK5yzB+3MbsHjRChx4It+mbPcxIYQQQkh2pCWGBdotvgty6zL5tLE10zTqzvYkCgOyFc92dzNkGo1WsndiYVAaEXsypzrTsBrEjiXJh8jmqePCtsfL+1NFHx3IrNXLsb8Ck4UhGWWdLobt623JtCpPZlczzUv8dgdz6ziOHXgtEoZkErOP9bbUYo4TAlicMEhOzEJ3DWFN+21mTz4Lg76Xz3fZtMp8mVNuCwMYS4qJZnFpqyhiD2dUZVqOU9jt771s8kWi9Ydz7TKI3sd68fRTMUv64cf03lxWW0+fNfMM4qlJTvRwBquq5cimKB7YxP2sl4kma+EVLQz4gT5tZK01dZiLQqaL2debWWpVZpOzZh62w60jG3fgNU+R2ZNP68gmBGTaenEo2zWkKeu3+Qn7/tlnGqucYR8msZjouLR1zHYfE0IIIYRkg0oMf3GGdWrDUTkIz15kW3E1q4Sz2H8sGtX7DELVTDXxlK26YuXu+WhrnX291ISz+3Es2hl9h1aHjjBMThkWndbgxIbeKKPKeyXvcefUeTyOkSAp5Cr2bzmIOx/lYyL+Jc5tXYqZ06Zh9up9uCMryVAgicaDw2sx759pmLVyD25mLsmQRODp9cu4/1ZatJSAl5f9cOnFJ0jiXiLg6GEcOXUX4VT48UtKOLcfx6OroU+W9ANoOAzEgIbAxUMn8IEfv4SXl+F36QU+SeLwMuAoDh85hbsZDixD7IvT2LJ4OqZ5LMKWC0FIEn5JFf/yHLYunYlp02Zj9b47UExqkvd3cOr8Y8RIkhBydT+2HLyD1CSaswSc3X8M0dX7YFDWzIOuK3djfltr5JB75NM698XQ6pm2XtkCndacwIbeZSDPPjmv25e2SUoS/QCH187DP9NmYeWem1lK0SURT3H98n1Is0/u+5gQQgghJB0Fhr84cWgYIpgBjA1zeMkwE3HwEzyLNUc5e/OvPLhiBD95hlhzOzhY5DJlSiAW9+yFuaumoKFjQwyYshGXI8X8hvcI3GtURudFZ/EqIgx3t41AXade8AkS6sFKQrCrvzOq9V2Ji0HheHPFE70aD8dxaaSQ6vMNrOjbAZOPRPHxP+LK5rlYfSYUorDzWDd7JmYtOZyh2iz5VaSmn3I5pB8DONhbQ/yCp0+RBB+vbMbc1WcQKgrD+XWzMXPWEhxOO7AM0WdGoWG7WTj+NBRBl9fBvXEN9NwaLPwuwfsj7qhRuTMWnX2FiLC72DaiLpx6+SA1qaUELkbPXnOxakpDODYcgCkbL4Mn0S8TB+PJs1iYl7OH+deeGVOntXNA7tknu3XLfZskIbvQ37ka+q68iKDwN7ji2QuNhx+XBdqpPt9Ygb4dJuNIlCiXfUwIIYQQktHX3v4QAft0GG7liqN4ccXOFq2XPeG3yN9Kgs+J8YiPl3axCH98HPNHr8Ctoi7oWje3Vjvk2KdPiIMeDPTSA8mElwE4evgwDgud37XUG2xFDJ8+xQF6BtDPSwwqCcPutXfh4heMD0EH4FqC4eayifBWdsWRywfhvXotdl44iYkWB+Gx/Aqkb4ylXF2Kqb7qGHogEEc2emLttlM4N9sW70NyKMVQtkT3tRfgM6gM1Ev1w+aAqwj0m4xaCu2EkF+FkH50DXNIP0ow0NcD4j/hE1OGZfe1uOAzCGXUS6Hf5gBcDfTD5LQD+xk37hhi7gV/+Kz1xKZjZ7G4WSKObjoo/1l0E8smekPZ9QguH/TG6rU7ceHkRFgc9MDyK+nvJkrCdmPtXRf4BX9A0AFXlMgtXTO+brIsoJdeKpggL6lOzTuH/a4hOLvYKm1a/RxKFDPKsm4st21KwdWlU+GrPhQHAo9go+dabDt1DrNt3yP77JPbPiaEEEIIyYgCw2+kpFsHf/nsxu7dit0OzO9sI9wYfv2uZfEH0NdUF7q60k4f5natsOxjB3gfmI/G/J46TzTVoc5vIpNTUu8WJYi8tAEzPDzg4fEPxg3qhA4z/IXfMtJU5zeNKclIm/RLGGDddRJGOBvLt1TyDpcDn8OkjBVir53DuXO8uxQKIxsTvLl1HWESCUKvXMcbq0Zo7awrm4V0H5n90QMtilAy/B1oSNPP55zTT0oKD3DUNJD7Iw5VVOg6GPWMhHShbIaqlYsDke9lvZJ3lxH43ARlrGJxTZrOeHcp1Ag2Jm9w63pYWgMvDNboOmkEnI3zmr40Ic8CKWnzkERewoYZ0rzjgX/GDUKnDjPgHy/8mEHWab8k87rluk2SUFy5/gZW/2vvTsCiqvoHjn+ZQTSVREEEQQUXZHULzSU1taws3lJbbLE0rQxRwupvlvuLZr1KmijumAuu5YbmloILmGAuIGIiLsQmigsoi8zM/w4MCggKlqXx+zzP4Zk598yZe++cw3N+c86908OD293Hkuff7oV0HyGEEEL8FWRIcb9UZjRq7Y67e9H0BE7WhcNeI6pXrw45WWTd8YMgOrKzsqF6DWrob2BqYFSjN0uu5JCTo6TMcL5sWQWs29HDqfy37Teu3xBr9QUSEgpnTlQ0eHchByIjiYzcz7QX6yh7VhpjrGytUKWe53yRO0eWTY1dUwclCDXQZnAtQ8OlPTPw9vLCKz9543/MFEfrmmh1WjIz9TNKtSgymalUY0adWqXvkXiUGGNtUw/VhQRuNb1i8pQ2may05wbY6C+0uysVltb186/HK2RsrMJIW9CRtBnXyNBcYs8Mb0M7U5K3P8dMHbGuqdV/Z1FAbUdTh1st9N6M69PQWs2FhIT8GW49VYN3WXhA33ci2T/tReqU1VSNrbC1UpF6/jzl6z7F9+2ex6TNVPqPvvsUmc1UqM3qIN1HCCGEEH8FCQwfGGOcXJqhio3gYMm7XmgvcDAiHpPmbjgWGyQboa5igomJkmq0Y8SY1zDeNImpYTcM28vBrBOdW+awf8sOLhuybsk9TnjkxTJnNOp06oRbzn62bE835BRx/RBrloZxocg6WZW6yBBVZYGlhQmWvQM4FB1NdJF0OGgwdmoVFnXNMUpLJLlo4JB1hvikuy++NTJSmqlO9yeW6Iq/Q52OHXHJVtrPjjtaHmRHsC30Io06dlbagiHPyEj5B6RDV8oHa6RsK4vKwhILE0t6Bxwq1s6iow8TNLhwxl5PRdEmem9mdOrckpz9W7jzEHI5Hh5Z7Hq+4urQqZNb/mtL7z5rWBp2oUgbLr5v9zwmpX/VNTciLTH5VtCql3Umnrt2n7ucYyGEEEKIoiQwvF/KSOvmjcLrAYumG+TkD8LUNOr3ER5VNjJ22CKirhpGlJp0ImYN5b+7LXjz4z7ULfMTUGH+8leMaJ/IgvELOV3egZ26Ge/59EW9diRD5x/hcuFANvsMG74YxuLzJmXMGCovbT6AT15Wsebzj5gVcenWIFaTfoi5H7zFwNFz2VfyNomFlIFrt57upG+cw4o4w5yJJomNQ9rRdlQoN5TjsXi6B62vbSYgMEZ5rtCms/fb79l6Lb90GdRYWNVFnXyKU3ctJ/5paqeBeHvAmpFDmX/k8u0vIDJjWenjxYJL3fEZ8uStWWa1hRV11cmcquAHq7LoRk/3dDbOWcHtpraRIe3aMiq0Al+i3EFNs/d86Ktey8ih8zlyu/NwZsMXDFt8HpMy41U1zQd8wsuqNXz+0Swibt3pRkP6obl88NZARs/dd8ddRgvd85iU/vV0j9Zc2xxAYEzBMWrT9/Lt91u529m733MshBBCiMpHAsP7pLuyijfNC68HLJpq0ysgKX9QrLJ+gzk/fUO7mJG0s7XFwdWFpvUb0HVKKi/MXo9fL7OCysqibs5H4wdQb+//mLy5lFmYUqmwejWAjd934fTYDtjUa4yTczNsbDsxMf1d/Dwdiy3RK0ZVn35zNzCj23kmdbHF0s4RFyd76tk+xfj4zszYOIs+lmU1GTUOQ/3x6xaLT0tbmrjoj9WZwREtGD6gA/rFsGpHT76b4E7UZ21o2MSJZg1c8DzrwcD2VQqqKIP5K0MZZP0zg50dcHEbyPJSZmTEQ0Blw9vz1zOt4ynGdrChnr0zrs5NsLJqwycRbvhuXMaHTYtMk5m/wtBB1vw82BkHFzcGlveDVTsw1N+PbrE+tLRtgotLU+o7DyaixXAGdCj/suvSqKxeJWDj93Q5PZYONvVo7ORMMxtbOk1M510/zxIz/MWp6vdj7oYZdDs/iS62ltg5uuBkXw/bp8YT33kGG2f1oezuc69jUuPo+R0T3KP4rE1Dmjg1o4GLJ2c9BnLX7nO/51gIIYQQlY6R/scMDY/FA5NL+unjxCZmQK1GuLg2olaFlrjdp7wrnD1+goQMYywdWtDcsqphw71pMxM5ERNPWpaa2nbKAL+RmTI0LQ8tmQnHiTpzFWPLZrg51rvjZiM5qSc4/Hs6VW1daGFfznpz04j97QRpahtc2zSh9t9x/sR902QkKO3nLJdyq1C7oRMujWqV8Tnnkhb7GyfS1Ni4tqFJRT5YbSYJx6M4c1Vp383ccKxXvjv3lk8eV84e50RChtKOHWjR3JIK9B4yE08QE59Glro2ds6uNCrnz83c+5hySD1xmN/Tq2Lr0gL7ctX7J86xEEIIISoNCQyFEEIIIYQQopKTpaRCCCGEEEIIUclJYCiEEEIIIYQQlZwEhkIIIYQQQghRyUlgKIQQQgghhBCVnASGQgghhBBCCFHJSWAohBBCCCGEEJWcBIZCCCGEEEIIUclJYHgfcsJnM2zIEIaUljy/YOnxPKVUHocXjmDYjFCuFrysCC2p275l2KjlxOiLKkrW+fHHQ/EeOZFZ645ySVNQpjT5r/OeR0SuIaOoKyF8N+wzAo8a3iQ7mqBxo5gZeqHgeTnlHV3M58NmEXbDkHEPGeEB+Aybys40rSHntryTKxnjNZF1ZzXK7gQxbtRMQi/cWa5UecdZNmo4M0LvPKO3aJMInjwc300Jhgzx99JwIWIpEz56lZ6dn6Rtu070eGUgXwTs4ly2ocjd5B1l8efDmFXexvZn5IQze5g380rvPIR8N4zPAo8anuu7TwXbq15FjycjnACfYUzdmab8lygh7yQrx3gxcd1Z5Uk20UHjGDUzlPJ3n2WMGj6Du3efYCYP92VTQgWOUQghhBD/ChIY3ofck1tZsCScy7UtsLAokcxrU7OKkb4Up38JZP6maG7cMcbSceXwOuYvDeW8IejT1zl/0V4uGuo0N69FlcuHmDOoPU+8sxQljipV/r4s3MYpQ+xXlPZ6FJvmB/JLfMFGbWoIi/ymMXN9bP7z8so7s4vABVs4Udr4uRSmrg7kbR/LUN9QMg15+bSJLB/1CQFxdWnZwIjUkEX4TZvJ+thSdr40mvOELp3Ppui7DLK1F4n8cQFrIy4ZMsTfR8PZoPfo+PSnBGe50PvjUYz9ajj92lYhbNKLPOnxHUdzDEUV2suRrA5Yya9Fv0DIO8OuwAVsKW9j+zNyT7J1wUK2ld55iNo0n8Bf4gszKt5e9Sp6PKauOORtZ+xQX0KLdx4Sl4/ik4A46rZsoDxNJWSRH9Nmrqf83SeUpfM3EX3nP6RbtBcj+XHBWiIuSWAohBBCVDaVPjCcMeiXe6ZSVXPl9XG++PqWSP8dSW8HtaFQxRiZONJnTGFdk5k6bwN7l70DP31NQKmzGhWjauTF5j8ucHhqF0POA2LajTGT+nA9cBQzjt3e7yvbJjLxFzt8vhlEY7WKRl6b+ePCYaZ2MTGUEA+TnKgT90zFXNnI2M9+wnT4ekKWTODjt17B4+U3+OCreez4eTzNfh3PyMDzt2bCdMlb+d+nU9ic+CgEIX9XezWl25hJ9LkeyKgZx7jVe65sY+LEX7Dz+YZBjZX/L6pGeG3+gwuHpyLdRwghhBB/BZkxfMiZdX6KlqpznDp905DzJ2jTOBkRRtQfRaZt0JAauQb/SeMYP2UuG6LSyUuMZOve34vP9unpMjj9yxL8Jo5jwrQl7ClzbaAKy96+jO1ymulf/lAw25kTgd/oFVQb/D8+aVkwktWmnSQiLIpiu3M9npCl0/EdN47Js3/iyL1mLrSXid40l2/Gj2OS/1oOlbJ8Vfw9boSsY+vlJ3lvSHtqGPIKVXUbzKDusHfjNi4qH9GN+DC27DvNNW0m8fs3syl4B0eLrYnUkXH6F5b4TWTchGks2XOOkq3tenwIS6f7Mm7cZGb/dISiTUWbeoQdoSe4os0m8dd1LNlwpJQl3RVTanvVpBK5xp9J48YzZe4GotLzSIzcyt7fS/aeex9PIZVlb3zHduH09C/5oaDzEOE3mhXVBvO/T1pi6D2knYwgLOoPZettdzsnpdFejmbT3G8YP24S/msPId1HCCGEqLwkMHzIaZJTSNPVoo7Z/c1CFnMzkpkD+jI6ON2QoeH0otdw7+zJgoMJpMTtxO+N7rw65AP6+KzgTNElarrL7PqkO69M2srJ5HOEzRvGMx3eYWlZ1yKp7Xh/yqc03+vLhOALxM3/klmX+jL5y063goabkTMZ0Hc0wekFdWhTgxnWoQ2vT9vNmbQUji4bTpe2/Qk6V8Y6Wm0iq99vx5MD/Nl77gLnDwTQ/xkvtuojD/E305AQe4qMek64WZX2b6UWbq6N0JyO5VSelqsHfmDK7F0k56UQOm8yvpO+Y9OtJZ06Lu/6hO6vTGLryWTOhc1j2DMdeGdp4XWjWlKDh9GhzetM232GtJSjLBvehbb9gyhsKrnhfrzTfwqzxnSnZfdBjAkMu+u1uuVRsr0qB8Oi19zp7LmAgwkpxO30443urzLkgz74rDhTUCbfvY6nJDV270/h0+Z78Z0QzIW4+Xw56xJ9J39Jp1sR900iZw6g7+hgCnbn3uekJG3iat5v9yQD/Pdy7sJ5DgT05xmvrfmBuxBCCCEqHwkM75Pu2iaGOtljb180OeAxI1YZIt8vLTezrnP9uj5lcOHEVr71mclvDfrQr0s1Q5k76bK24eNccl/sadJxIgfudv1Rzl6m+26hziebCNuwiDkL1rA71BeL49Hc8TIlqDxiNoU9O4OYG7CYn3f78VzWZhZvSDYUuJOx63C+GVKLtf/Xl/5fR9F53AQ8zMtqcnkcmjGKhSpPgsM2sHD2XFbt2c4oqw1M+P7A7SV1ReT+Op2xK00Ysj6c4MAA5i7bQchkB1IfiaWJ/zY6rl3LhJpmPF7qdxhG1HrcFK5f45pOhfVbc9kT9AHNTZoy8If9/Bq+hdGdCtdEKkHPETOm7NlJ0NwAFv+8G7/nsti8eEPB5rxDzBi1EJVnsNJuFzJ77ir2bB+F1YYJfH/gdkvRpqxh7tE+bEm4yLn1nuhXYN5Bl8U2H+c7+o59k45MvGvn0Xef6fhuqcMnm8LYsGgOC9bsJtTXguPRJV93j+MpjbErw78ZQq21/0ff/l8T1XkcEzzMy/6HXc5zclsuv04fy0qTIawPDyYwYC7LdoQw2SEV6T5CCCFE5SSB4X0yqtmZ/wtaw5o1RdMKvn3djoLxZ8VPre76egZY1KRmTX16nHouLzHjal8Wrv+WZ5QxdZmqdsDnjn1Zw+p5g3G7y0SjJlEJ9lIa0L1XG6ob8lR1n+XNF2zu3HvjFvT7sCu1DRtUlu60sYdLqXe7w2l1On0xidezD3DM3ofJ/RuWfVa0SYSFx2He3IaMgyGEhChpXzK17cw5/1sEKXcMVrUkH4jgvE0PPNrVNOSpsHz+bXrZSrP+J1Q1UQK7mznklhFY5OYqAUqVqpT9FUchY1r0+5Cutxsb7gWNLf+pNimM8DhzmttkcFDfTpS0L7k2dubn+S0iRWkZBXQ0ot9Xw2lX527toSodfILu6DtrVs9j8N06DxoSI4+Q0qA7vdrc6j3UffZNXrAp+X53P56yVO/0BZNez+bAMXt8Jven4V0Oo7zn5BZtMgcizmPTw4Pb3ceS59/uhXQfIYQQonKSIcD9UpnRqLU77u5F0xM4WRcOe42oXl0ZMOZkkaUzZN2iIzsrWxn51aCG/gamBkY1erPkSg45OUrKDOfLllXAuh09nAoHnqUzUj1Ow1Yl98WdJ1zrF6v/DtnZZPMYNR4r2gyMlKC0uvK3BGXQaF3f2PBEzxhjlRFa3T3mR2u54WpnTC1HNxoXfXlJ2gyuZWi4tGcG3l5eeOUnb/yPmeJoXVN5H0O5W7RkZupnqGphWnT8rjajTq27HbR4MIyxtqmH6kICCaVNUJFHQkKy0p4bYHO3dpBPCfCt6ys13mZsrMLI0Ai0GdfI0FxizwxvQztRkrc/x0wdsa6pVXqXgdqOpg73uDOLkYrHG7a6o++4P+FK/bt2Hn33UfrwYzUo3n1qUrN6ydfd/XjKpl9+a4dxLUfc7tp5KnBOCmkzlf6j7z6mhi+yCqjN6iDdRwghhKicJDB8YIxxcmmGKjaCgyXveqG9wMGIeEyau+FYbLxnhLqKCSYmSqrRjhFjXsN40ySmPqDfdFNb2VLfOIm4+OuGHIU2najjf5SyHNYIowc5YFRZYGlhgmXvAA5FRxNdJB0OGozdHZM3KizqmmOUlkhy0UAk6wzxSX/yYjJxX+p07IhL9n627LhsyCkiO4JtoRdp1LHz7c9SaVAqJWQp7bsFo7s0NpWFJRYmlvQOOFSsnURHHyZocOGMvZ4K9R3t5q+ixspWCfaS4ijefaI4/kcpveeBdp6KnBMDpb/VNTciLTG52DLtrDPxSPcRQgghKicJDO+XMpq9eaPwesCi6QY5+QMrNY36fYRHlY2MHbaIqKuGxVyadCJmDeW/uy148+M+1C3zE1Bh/vJXjGifyILxCzn9IAZrZs/x6rNqNk8eyfJDiaQlxbDNz5Np++5+bdUDoQxUu/V0J33jHFbEGe6zqEli45B2tB0Vyp2hsRIYPt2D1tc2ExAYU7BdCWr3fvs9W6/lFxB/M7XTQLw9YM3Iocw/cvn28sXMWFb6eLHgUnd8hjxpuKumUt7CirrqZE6dqtgHprLoRk/3dDbOWcHtprKRIe3aMir0wXyJUhqz517lWfVmJo9czqHENJJituHnOY1/pvtU8Jwo/e3pHq25tjmAwJiC7dr0vXz7/Vak+wghhBCVkwSG90l3ZRVvmhdeD1g01aZXQFL+oFhl/QZzfvqGdjEjaWdri4OrC03rN6DrlFRemL0ev15mBZWVRd2cj8YPoN7e/zF5cymzMH+Wypq3ZwcxsvGvfN7VHlun5xh9uCMj3muKsX6G0FDs76HGYag/ft1i8WlpSxMX/blyZnBEC4YP6HDrGsii1I6efDfBnajP2tCwiRPNGrjgedaDge2rGEqIv5XKhrfnr2dax1OM7WBDPXtnXJ2bYGXVhk8i3PDduIwPmxaZuzJ/haGDrPl5sDMOLm4MXF54t9x7UDsw1N+PbrE+tLRtgotLU+o7DyaixXAGdLj7suu/ksr6bWYHjaTxr5/T1d4Wp+dGc7jjCN5rapw/G/q3qvA5UePo+R0T3KP4rE1Dmjg1o4GLJ2c9BiLdRwghhKicjHQKw2PxwOSSfvo4sYkZUKsRLq6NqPXAlrhVkCYPjdq4yFKzHHZ7OfFijDcnd3rT4G//6kBLZsJxos5cxdiyGW6O9e55s5Kc1BMc/j2dqrYutLA3u3PZnPjbaTISOBFzlku5Vajd0AmXRrXK+FxySYv9jRNpamxc29CkdgU+PW0mCcejOHPVGMtmbjjWu/dtbf5qmjwNauMi+5yzGy+nF4nxPsku7waGzL9Rhc9JDqknDvN7elVsXVpg/1f8LI4QQgghHkkSGFZmeceY2vNtwt9czfIPnPIDsBuxC3jnGW8SPgonfEyLYjfMEELclndsKj3fDufN1cv5wCm/9xC74B2e8U7go/BwxrSQ3iOEEEKIR4cEhpVaHnHLP6SP1ypSLB2xM83k7IlUzD2+ZsXCj2l168e0hRB3yItj+Yd98FqVgqWjHaaZZzmRao7H1ytY+HErpPsIIYQQ4lEigaFAm3mOw5ExpGRVo55TG1rblbXsTwhRnJbMc4eJjEkhq1o9nNq0xu6hWScuhBBCCFF+EhgKIYQQQgghRCUndyUVQgghhBBCiEpOAkMhhBBCCCGEqOQkMBRCCCGEEEKISk4CQyGEEEIIIYSo5CQwFEIIIYQQQohKTu5Keh9ywmfz2Q/HuGl4XozKjE5DfenvYlxQbmkSnbwn0K95GbewzznEwi8X8nvLj5n0rlvBD8rnhDP7sx84ZngDIyM1VWrUxsaxIy/1fR6X2hLPi4eRlstHVjLdfxV7jyeRYWSKrWsP3h3hQ2/H6oYy/6zs6CC+Xn6J7j5D6WpZRj/Kjibo6+Vc6u7DsK6Whsy/mDaJ4ClTOOL2OaM9GhgyhRBCCCH+OZU+MAyt6WR4VLaumScMjwpkLP4Plp7n+I+3B81KxnvKYPiJ/p/R20GdX67uwC1Yf7SZqDnPUdNQ5DYtaUFv4Nz/J9TvrefsIg+q6bMzFvOfuh9y+qVPlQG1/g103MxMISZkE7+kuvLFqh8Z3aW2TPeKB2pB7G7Do7INduxmeAQ3Doyj6wvzeezNEQx6pjlmuQmELZ2Gf4QdE7dv5tNW+a37H6TlnH9PXEecZ/DOaL7rYoL2ciRrV8bR6NXXebJuQY/SnvOnp+sIzg/eye/fdcnP+8vlHWP8k+1Z/2IYRya2MmQKIYQQQvxzJDC838BwhCnLkpbT9y5j3fzAcPDPaExfYM7x9QyqXyKU08TybVd3vjqQjfm764oHhpZeVFl4gR/fKjLTojnH8ree4v0jfdl+dDpd/+lxtvhXq1hgmM3mQY155+Jkft8wgLqGXPJOE+g1hvOv+jHmGauH4MuMHK5eyaOmWQ30X7loYnxp776WF8Iimdgqf74+X87VK+TVNKPGg/qtegkMhRBCCPGQkUmnB0xt04PnGoUQMD+aPENeoez9c1h44kme7/iYIece1I1446tBuJ77kaDQHEOmEA8DDRnXrmNkUpUqhpx8xk0YOCeIccWCwuvEhyxluu84xk2ezU9HLqE1bCl0PT6EpdN9GTd2In5LQjhzw7CBXM7/uoWdx9KKvUabfJitWyJI1Biepx5hR+gJrmizSfx1HUs2HOGqPj/tJBFhUfyhdJ8b8WFs2Xeaa9pM4vdvZlPwDo5eUGrVpnEyIowofaFCucn8unomk8aNZcK0Hwg9l23YYHA9npCl0/EdN47Js3/iyKUSR6S9TPSmuXwzfhyT/NdyKK3kEQshhBBC/LMkMHzQVI3p79mNs4H+7Mg05Okpg8+fZq4kp89Q/mNhyCsHY4e2tKqdRuzxZEOOEA+Dx+jyn2eosmkUb365mF+OX6BE6FRAm0rwsA60eX0au8+kkXJ0GcO7tKV/0DkltMwvQPL6IbRr8zrTdp3mwoU4dnzTF/duXxFyRb/9Kj+Pe5UBMyOLXeObve8b3uw7iV2GWC433I93+k9h1pjutOw+iDGBYVxS3uBm5EwG9B1NcHoeVw/8wJTZu0jOSyF03mR8J33HplN5+kLMHNCX0cHpBZVpzrCoX1t6TdjK6bQ0Tm+dzMtPvMDUYwVf9WhTgxnWoQ2vT9vNmbQUji4bTpe2/Qk6VxilJrL6/XY8OcCfvecucP5AAP2f8WLrRQkOhRBCCPHwkMDwPumubWKokz329kWTAx4zYg0DXAMdWLw2nDeMf2TWysRbsxyaU4sJ2GnLwGE9eExXgQGiqja1Hzci46p+/kOIh4WK+m/PZ8O07lxZ4klPN2tqWzrS5Y3Pmbs36dZsed6hGYxaqMIzOIwNC2czd9Ueto+yYsOE7zmQqxTIPch3o37A2DOYAxsDCZizhJ8P7mRiJyOuXinWs+5Jm7KGuUf7sCXhIufWe9K42LJQFdZvzWVP0Ac0N2nKwB/282v4FkZ3MjFsLyJ9B2u212DAvHUsmh3Akm1h/LzgK1511i89zePQjFEsVHkSHLaBhbPnsmrPdkZZbWDC9wfIP6RfpzN2pQlD1ocTHBjA3GU7CJnsQGqiBIZCCCGEeHhIYHifjGp25v+C1rBmTdG0gm9ft8u/dukWrQ5d9acZOsiBvQHzKJhkyGb/nAXEdvbkA1djpUgFLvPU5ZCtjDarVpMLDMVDRlWH9kMXEX4umbiw9cz6tBf1E1bi06M9by89iwYtSWHhxJk3xybjICEhIUraR3JtO8zP/0ZEihZt8gEOnrOl2/OtCq631avRmqF+vrxsV7EL/nQ0ot9Xw2lX50/+m6vVglb2f7BqzBfMXref36+Y0uGVZ7DTx4XaJMLC4zBvbkPGQf3xKGlfMrXtzDn/WwQpWi3JByI4b9MDj3aFt59SYfn82/SylX+/QgghhHh4yMjkfqnMaNTaHXf3oukJnKxLBGw6rTIgVuM4yItn/1iM/7YMtGnr8F+Zx6vD3qC+ShkMV2DiQHvlFKcvVKNhYxtDjhAPGXUt7Nt78P5IP1bu+41lb+rY8P1SYjVaMq5loLm0hxneXnh5FSRv/2OYOlpTU6tDm5lBJtUxrVHBf01KJ7pjPlFtR1OHUmYAK8qkPRM2rmVY099Z/H+v0Mq6Hk4eY9min/HTZnAtQ8OlPTPwNhyPl5c3/sdMcbSuiVbp/5mZmVCzFqZF41q1GXVqGRmeCCGEEEL88yQwfMD0N33VzweqLPsy/M1q/DRrGXsCA9jR6H2GdquhbNFUIDDUEL9iJftNOvFsl4fjd+GEKKDhwq/bOJBSojGr6uDq3ACVEvBd06iwsLTAxLI3AYeiiY4ukg4HMdhOjcrCEgujiySnFr9Vk0ZTGPaZYFIFsrKyigSCGs6fPkf2HRPvKtT3mmQ0MlJKKX30HqtUTexfYOS8YA6eSuPiyRV4pE7nY99d5KgssLQwwbJ3AIeKHo+SDgcNxk6tHHNdc4zSEknWrystlHWG+KSKLY0VQgghhHiQJDC8X8pI8uaN61y/XjLdIKfoeE+nzQ8MoRqdPD/Ebf8E3vKLpZvnIPIvUVK2lhUYam9mGerM5HJiNFtnDubV8Ydx8RnLW9by0YmHSE4EM4b0odcrn7Hu9K1biJKbuI1ZK49h0elp3EyUIKlbT9zTNzJnRRwF94nRkLRxCO3ajiJUeZnKohvPul9jy7wlxBruXpN7ZiUDWz3B5yH6eh/D2cWezJDVrE8o6Gg5p1cxeVmMPsarMLWFFXXVyZw6dc2Qc6fcY7N4rZc3688VRHbVG7jgUK8KeTdz0CmBYbee7qRvnMOKOMOdbzRJbBzSjrajQrmh/Iu1eLoHra9tJiAwRnmu0Kaz99vv2Vr2WwohhBBC/P30v2MoKuZaoIeuqj6iKzWZ6LrPTNRpDOUesx6kC84qeJ1Od1G3ql89XZUmXrpd1w1ZSt7c56vp6g3cqLtV7FqgzqNqkTqNVLoqj9XR2T3hofOe/6vukr5yIR4yN89u1o31aK4zq1ZLZ+PgqnNt3lBXu7qZzrH3FF3oxcJGm62Lmv+OztWsus6isbPOuYmlrlbdNrpBS2J1OYYSWVHzde+4mumqm9vrnJzsdRY16+haDvxBF2sooPnjR91Hbo/rqpja6BycmuhsHZ7X/XfOJzq3mi/rlhj6Vda6/jrzar10Cy4XPC+UvWWwzqZaD51/kmF/NBd1W7xb6B6vUU/XzNlVN2DZJX0h3WCbaroe/kkFZa4f1c3p56yrVd1cZ+/kqmtu87ju8aZ9dbOPZRdsz47SzX/HVWdW3ULX2NlZ18Sylq5um0G6JYU7rMvQHZzaS9egWlWdeWNHXdP6VjrXd77Vfdqluq7lmMOGMkIIIYQQ/6xK/wP3Qoi/Vs6F34mJS+GatjpWDq40t7zzRknazASOR53hqrElzdwcqVeyiPY6STHHiLuipm5TV5ysSiydzrtM/JHjJGrq4ti6OXX/1KWEuaTF/saJNDU2rm1oUrv09afXk44TffoSeaYNcXGzw6z4XabITDhO1JmrGFs2w82x3u2b5xjkpJ7g8O/pVLV1oYW9WfGbVAkhhBBC/MMkMBRCCCGEEEKISk4uVBNCCCGEEEKISk4CQyGEEEIIIYSo5CQwFEIIIYQQQohKTgJDIYQQQgghhKjkJDAUQgghhBBCiEpOAkMhhBBCCCGEqOQkMBRCCCGEEEKISk4Cwz8hL3oZXw4bxpfLoskz5AkhhBBCCCHEo0Z+4P6+5bDH25Xn5yaQ1/Bjfon+js4mhk3/ItrLh1i3Np6GffrS1ly+RxBCCCGEEOLfqNIHhkZT+xselU332VLDoyJyduHl3Jf4tz4gfdqPtN0cw8xuVQ0b/z00Mb60d1/LC2GRTGxlbMgVQgghhBBC/JuoxysMjyulCWHrDI/KNr5jH8Oj27J3f8vwJWYMCRxJoz3TWH6pI0NeakLR0EmTGsmPiwNZvSWM36/WonHTPI5vP0qmVSPMC2cXNalE/riYwNVbCPv9KrUaNyXv+HaOZlrRSF9Im8qRnYe4bN4Q0/QINq+PJNvOEatqymuvxxOy6geW/fQz+05cxrRxc6yqGxXUq3evuvVunCFkpVLHj5v55cAJLpo0oJmtKWr9pvgwtofsZNOWOKo72VPlQgLZZvZY1dC/x3XiQ1bxw7Kf+HnfCS6bNqa5VXWKvLsQQgghhBDiESFrA+/LdXatDubqU6/wklUzer/ShgvBq9l13bBZoTm9iNfcO+O54CAJKXHs9HuD7q8O4YM+Pqw4Y7giUXOaRa+509lzAQcTUojb6ccb3V9lyAd98FlxpqBMbjh+7/RnyqwxdG/xNAO+XMi+SxolXgxmWIc2vD5tN2fSUji6bDhd2vYn6Jym4HXlqfv6HkY91YZ+fr8Ql3aJxIhAhj3dht4BJ5WNWq4e+IEps3eRnJdC6LzJ+E76jk2nlH1XgtXgYR1o8/o0dp9JI+XoMoZ3aUv/oHMY3l0IIYQQQgjxCJGlpPezlDRzE+87vkvahFg2DKqHLu5/dG0xnWYrTxL4n5pKgRxChjnx/J43CAn/mvbVlSxtGps+fJLeS+ow5tABxrkZkxMyDKfn9/BGSDhfFxQibdOHPNl7CXXGHCJynBtkr+fdBq+z9rGeTFy7hBHt6ijRfB4RX7am6+aX2K3U/6T+pXkxfN2lHYs7bCNqWid05ambTI7sOESdbl1pmD/VeYNQ79Y8t7M32cen6DNKXUqaF/Elrbtu5qXdSt0Fb07M111ot7gD26Km0elfeK2lEEIIIYQQ/2YyY3gfMnas4efrT9H7pbr5J1Bt35tXnrjMz2t3cFVfQJNI5JEUGnTvRRt93KSnqkvPN5/H9tYZ15AYeYSUBt3pdbsQdXu+yfO3CxVQQvdG/b5ieH5QqNAmERYeRx1HWzIPhhASoqR9ydS2M+f8bxGkaMtbd01adW5M0sYFTP9mMr6+09iZqEKbnGDYXhotSWHhxNVxxDbzYMF7h+wjubYd5ud/IyJFaygnhBBCCCGEeFSUiEDEvV1h29qtXG5kA/s3sG7dOtZtPEo1O1vSt65h+xV9mSyysuGxGo8VO8FGNU0peglgVkEhHiteCNOihfKpsWvqwK2JOG0G1zI0pO+ZgbeXF175yRv/Y6Y4WtdEqwSS5albm7aFT550o9dXKwk7Ec/Zs+f4I115ne5uC0K1ZFzLQJO+hxnehe/thbf/MUwdrampf3MhhBBCCCHEI0UCw4q6vJU1229goTvGwmlTmTpVn/xYcdoEi4xtrN6SrsRx1thaG5MUF8/tyw61pEcd549bMZcaa1trjJPiiC9ybaI2PYrjtwvdolLrbwdjoLLA0sIEy94BHIqOJrpIOhw0GDulbHnqvrTen4UXXyHwwE5WL17AggVz8Olc27DVwMhIaSS6IrGiCgtLC0wsexNwqPh7Rx8OYrBdkf0UQgghhBBCPBIkMKygS5vXsDOvJ1/vCmP//v23075tjOmSyy9rN5OGGc/1fQbV5smMXH6IxLQkYrb54TltX7Efwjd7ri/PqDYzeeRyDiWmkRSzDT/Paey716/lK4Fht57upG+cw4q4nII8TRIbh7Sj7ahQbihPy1W3EvShzSE7p2D55/Xohfx3RVyxRqG2sKKuOplTp64ZcpTAsFtP3NM3MkcpW/DuGpI2DqFd21GE6t9cCCGEEEII8UiRwLAitBcI/nEX2i7/4bkSE2uorHnp5fbk7lpDcCrU7z+L5Z835sDnXbG3deK50YfpOOI9mhoXxGP5L6nfn1nLP6fxgc/pam+L03OjOdxxBO8VLVQqNQ5D/fHrFotPS1uauLjQtL4zgyNaMHxAB/RXFZanbvM+I/BquJ2Bjk1wdm5M8z7BuPu8Q6OircL8FYYOsubnwc44uLgxcHk6aoeh+Pt1I9anJbZNXHBpWh/nwRG0GD6ADoWXNAohhBBCCCEeGZX+rqQPjoY8jRrjIisrc3Z74fRiDN4nd+LdoCD60uRpUBcvhJfTi8R4n2SXdwNDZlm0ZCYcJ+rMVYwtm+HmWA/9zxsWKlfd2gzOHj1Kws26OLZsTt1Sf6M/l7TY3ziRpsbGtQ1NahfUqc1M4HjUGa4aW9LMzZF6Rd9cCCGEEEII8ciQGcMHIo9jU5+l9WvzOJFtyLoRy9KZ60l16UY364LTnndsKs+2fo15twsRu3Qm61Nd6NbN2pB3NypqNnCjQ5enaFsiKCx33SpT7Fo/Red2ZQWFeibUdWxPl85tbwWFeqqaDXDr0IWn2kpQKIQQQgghxKNMZgwfkLy45XzYx4tVKZY42pmSefYEqeYefL1iIR+3qlFYiOUf9sFrVQqWjnaYZp7lRKo5Hl+vYOHHrTCUuj8Psm4hhBBCCCHEv4oEhg+SNpNzhyOJScmiWj0n2rS2o1aRlZ0FtGSeO0xkTApZ1erh1KY1dncWuk8Psm4hhBBCCCHEv4UEhkIIIYQQQghRyck1hkIIIYQQQghRqcH/AytridV21zzBAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<IPython.core.display.Image object>"
            ]
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Results analysis:**\n",
        "\n",
        "As you can see, the extracted numbers are NOT accurate!!"
      ],
      "metadata": {
        "id": "oNArcMEtcaCR"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "How does this happen, especially considering the image extraction capabilities of Claude Sonnet 3.5?"
      ],
      "metadata": {
        "id": "icOnjW9TciyC"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "I conducted the test without using the PDF feature, sending the image directly to Claude Sonnet 3.5 to compare the results:"
      ],
      "metadata": {
        "id": "HaZCbgkDcw58"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "client_image = anthropic.Anthropic(api_key = CLAUDE_API_KEY)\n",
        "def get_completion_image(messages):\n",
        "    response = client_image.messages.create(\n",
        "        model=MODEL_NAME,\n",
        "        max_tokens=2048,\n",
        "        temperature=0,\n",
        "        messages=messages\n",
        "    )\n",
        "    return response.content[0].text\n",
        "\n",
        "import io\n",
        "import base64\n",
        "from PIL import Image\n",
        "\n",
        "image = Image.open(img_path)\n",
        "image_data = io.BytesIO()\n",
        "image.save(image_data, format='PNG', optimize=True, quality=75)\n",
        "image_data.seek(0)\n",
        "base64_encoded = base64.b64encode(image_data.getvalue()).decode('utf-8')\n",
        "\n",
        "def append_message(content, question):\n",
        "    content.append({\"type\": \"text\", \"text\": question})\n",
        "    messages = [\n",
        "      {\n",
        "          \"role\": 'user',\n",
        "          \"content\": content\n",
        "      }\n",
        "    ]\n",
        "    return messages\n",
        "\n",
        "question = \"\"\"Extract all data included in Chart 1.\"\"\"\n",
        "content = [{\"type\": \"image\", \"source\": {\"type\": \"base64\", \"media_type\": \"image/png\", \"data\": base64_encoded},}]\n",
        "messages = append_message(content, question)\n",
        "print(get_completion_image(messages))"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/"
        },
        "id": "ygw0hctDdYYg",
        "outputId": "0a4ba635-7d12-4487-ccf4-3256ffa172c8"
      },
      "execution_count": 28,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Here's all the data from Chart 1:\n",
            "\n",
            "Morningstar EMEA Portfolio Average Q2 24:\n",
            "- Aggregate: 16.4%\n",
            "- EMD: 4.7%\n",
            "- EUR High Yield: 2.5%\n",
            "- Other High Yield: 1.0%\n",
            "- Other IG Credit: 13.4%\n",
            "- EUR IG Credit: 19.9%\n",
            "- Linkers: 3.7%\n",
            "- Govt Bond: 36.8%\n",
            "\n",
            "BLK EUR Strategic Model Q2 24:\n",
            "- Securitised: 11.2%\n",
            "- Other High Yield: 4.7%\n",
            "- EUR High Yield: 8.4%\n",
            "- Other IG Credit: 6.5%\n",
            "- EUR IG Credit: 12.1%\n",
            "- Govt Bond: 57.0%\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Results** **analysis**:\n",
        "\n",
        "It's almost perfect:\n",
        "\n",
        "1:\n",
        "\n",
        "1.   In the first Bar chart:\n",
        "\n",
        "- Other High Yield: 2.5%\n",
        "- EUR High Yield: 1.0%\n",
        "\n",
        "instead of:\n",
        "\n",
        "- EUR High Yield: 2.5%\n",
        "- Other High Yield: 1.0%\n",
        "\n",
        "Securitised was missed.\n",
        "\n",
        "\n",
        "2.   In the second Bar chart:\n",
        "\n",
        "-  The first value isn't about Securitised but EMD.\n",
        "-  The other valeus are correct\n",
        "\n",
        "\n",
        "**Next:**\n",
        "\n",
        "Extracting data from image is better than using the pdf feature (for now), but it's still not that accurate.\n"
      ],
      "metadata": {
        "id": "SDM4oisQgMdE"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "## Simple Bar chart:"
      ],
      "metadata": {
        "id": "cmyWnAr_4sQV"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Now let's try to extract data from a simple bar chat:"
      ],
      "metadata": {
        "id": "hy3ZzcU0isI2"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "query = \"Extract from page 8 all data included in Chart 2.\"\n",
        "messages = build_message(query, pdf_data)\n",
        "print(\"--------QUERY---------\")\n",
        "display(HTML(f\"<p style='color:fuchsia;'>--------QUERY---------</p>\"))\n",
        "display(HTML(f\"<p style='color:fuchsia;'>{query}</p>\"))\n",
        "print()\n",
        "completion = get_completion(messages)\n",
        "display(HTML(f\"<p style='color:green;'>--------ANSWER---------</p>\"))\n",
        "print(completion.content[0].text)\n",
        "print()\n",
        "display(HTML(f\"<p style='color:blue;'>--------TOKENS COUNT---------</p>\"))\n",
        "display(HTML(f\"<p style='color:blue;'>{completion.usage}</p>\"))\n",
        "  # print(completion.usage)\n",
        "print()\n",
        "print(\"--------STOP REASON---------\")\n",
        "print(completion.stop_reason)\n",
        "print(\"\\n\\n\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 412
        },
        "id": "4GnuegHt4v8W",
        "outputId": "2d5fad9b-4e7a-4ad4-9e9d-673a2a7c943b"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--------QUERY---------\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>Extract from page 8 all data included in Chart 2.</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Looking at Chart 2 \"Effective duration difference\" from page 8, here is the data:\n",
            "\n",
            "Morningstar EMEA Portfolio Average Q2 24: 1.55 years\n",
            "BLK EUR Strategic Model Q2 2024: 2.62 years\n",
            "\n",
            "The chart shows effective duration in years broken down by currency (CHF, EUR, GBP, JPY, USD) with the total values listed above.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=31, output_tokens=105)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "That's good. Accurate results!"
      ],
      "metadata": {
        "id": "Iga4hViJiwZ1"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "# Ask about specific numbers"
      ],
      "metadata": {
        "id": "TxjcPzrH7M1w"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Let's ask about specific numbers inlcuded in the text (not in the charts) :"
      ],
      "metadata": {
        "id": "HQitUhPJ7HRQ"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "query = \"what are the current gold reserve levels for different countries around the world?\"\n",
        "messages = build_message(query, pdf_data)\n",
        "print(\"--------QUERY---------\")\n",
        "display(HTML(f\"<p style='color:fuchsia;'>--------QUERY---------</p>\"))\n",
        "display(HTML(f\"<p style='color:fuchsia;'>{query}</p>\"))\n",
        "print()\n",
        "completion = get_completion(messages)\n",
        "display(HTML(f\"<p style='color:green;'>--------ANSWER---------</p>\"))\n",
        "print(completion.content[0].text)\n",
        "print()\n",
        "display(HTML(f\"<p style='color:blue;'>--------TOKENS COUNT---------</p>\"))\n",
        "display(HTML(f\"<p style='color:blue;'>{completion.usage}</p>\"))\n",
        "  # print(completion.usage)\n",
        "print()\n",
        "print(\"--------STOP REASON---------\")\n",
        "print(completion.stop_reason)\n",
        "print(\"\\n\\n\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 345
        },
        "id": "k5g_vzhK6lfb",
        "outputId": "051a8185-3604-4be9-be06-c51e0d21865c"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--------QUERY---------\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>what are the current gold reserve levels for different countries around the world?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "According to the document, there is significant variation in gold holdings as a percentage of overall reserves across different countries. Specifically, it mentions that some countries have gold holdings exceeding 70% of their reserves, while others like China and India hold significantly less, around 5-15% of their reserves. The document notes this disparity suggests there may be room for further gold allocation by some central banks. The document also indicates there was record central bank buying of gold in H1 2024, showing increased interest in gold reserves by central banks. However, it does not provide specific gold reserve levels for individual countries beyond these general percentage ranges.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=31019, cache_read_input_tokens=0, input_tokens=31, output_tokens=133)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Good results. Here is the reference:"
      ],
      "metadata": {
        "id": "3O7w47s0jE9_"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Source reference ==> Page 10:**\n",
        "\n",
        "\"\"\"\n",
        "Strong central bank demand for gold has also supported sentiment this year.\n",
        "The latest data shows record central bank buying in H1 2024 – and our analysis suggests there may be room to run. As a percentage of overall reserves, we see some countries with gold holdings in excess of 70%, while others – including China and India – hold significantly less, at around the 5-15% range,5 pointing to space for further allocation.\"\"\""
      ],
      "metadata": {
        "id": "p5nIT95z7WFZ"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "query = \"How has global M&A activity performed this year, and what growth rate does it reflect year-over-year?\"\n",
        "messages = build_message(query, pdf_data)\n",
        "print(\"--------QUERY---------\")\n",
        "display(HTML(f\"<p style='color:fuchsia;'>--------QUERY---------</p>\"))\n",
        "display(HTML(f\"<p style='color:fuchsia;'>{query}</p>\"))\n",
        "print()\n",
        "completion = get_completion(messages)\n",
        "display(HTML(f\"<p style='color:green;'>--------ANSWER---------</p>\"))\n",
        "print(completion.content[0].text)\n",
        "print()\n",
        "display(HTML(f\"<p style='color:blue;'>--------TOKENS COUNT---------</p>\"))\n",
        "display(HTML(f\"<p style='color:blue;'>{completion.usage}</p>\"))\n",
        "  # print(completion.usage)\n",
        "print()\n",
        "print(\"--------STOP REASON---------\")\n",
        "print(completion.stop_reason)\n",
        "print(\"\\n\\n\")"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 345
        },
        "id": "aoDi39ER7tQK",
        "outputId": "d9dd18b2-dc5f-4c90-ea7f-af9bab24c68a"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--------QUERY---------\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>--------QUERY---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:fuchsia;'>How has global M&A activity performed this year, and what growth rate does it reflect year-over-year?</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:green;'>--------ANSWER---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "According to the document, global M&A activity has reached $2.3T so far this year, representing a 26.8% increase year-over-year (YoY). This is mentioned in the context of discussing private equity opportunities and demonstrates significant growth in deal activity compared to the previous year.\n",
            "\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>--------TOKENS COUNT---------</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<p style='color:blue;'>BetaUsage(cache_creation_input_tokens=0, cache_read_input_tokens=31019, input_tokens=41, output_tokens=72)</p>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "--------STOP REASON---------\n",
            "end_turn\n",
            "\n",
            "\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "Good results. Here is the reference:"
      ],
      "metadata": {
        "id": "RKrjnptwjIvY"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "**Source ==> Page 11:**\n",
        "\n",
        "\"\"\"\n",
        "As the landscape of technology, central bank rate trajectories and the lowcarbon transition continues to evolve, we believe private equity (PE) offers distinct advantages when integrated into existing portfolios. While global interest rates have started to fall, we see sticky inflation keeping rates elevated into 2025. This macro backdrop has shifted the focus of PE from leverage and\n",
        "multiple expansion to driving value through operational improvements, revenue growth and margin enhancement. Global M&A activity has hit $2.3T so far this year, up 26.8% YoY, illustrating a wealth of opportunity in the space.\n",
        "\"\"\""
      ],
      "metadata": {
        "id": "oQKZtqxa7088"
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "\n",
        "# 👉 **Key Takeaways:**\n",
        "\n",
        "- Easy to implement in the API.\n",
        "\n",
        "- Maximum number of pages is 100, several financial reports are less than 100 pages.\n",
        "\n",
        "- No need for chunking or embedding—just a single upload. However, the file needs to be re-uploaded each time.\n",
        "\n",
        "- I used the prompt caching feature to reduce costs, but it only lasts for 5 minutes, which isn’t ideal...\n",
        "\n",
        "- Chart data extraction isn't highly efficient yet, as it's still in beta.\n",
        "\n",
        "- It accurately extracts information and answers various questions (unrelated to charts), providing insightful responses with numerical data.\n"
      ],
      "metadata": {
        "id": "4qlgTDherKS4"
      }
    }
  ]
}